[Eine Seite zurück] [Übersicht] [Eine Seite vor] | Benutzung auf eigene Gefahr ! |
Beschreibung |
Die Funktion erstellt eine Liste mit den Namen aller Objekte in der aktuellen Datenbank und gibt sie zurück. Das Format kann sofort an die RowSource-Eigenschaft eines Listenfeldes zurückgegeben werden. |
VBA-Quelltext |
Public Function ObjektListeErstellen(Objekt As String) As String Dim Liste As String, Nr As Integer Liste = vbNullString ' Variable löschen ' Objekte der Reihe nach abfragen und Namen hinzufügen For Nr = 0 To CurrentDb.Containers(Objekt).Documents.Count - 1 Liste = Liste & """;""" & StringZeichenVerdoppeln(CurrentDb.Containers(Objekt).Documents(Nr).NAme) Next Nr ' Falls die Liste einen Eintrag enthält, führenden Strichpunkt löschen If Len(Liste) > 0 Then Liste = Mid(Liste, 3) & """" ObjektListeErstellen = Liste End Function |
Argumente der Funktion/Prozedur |
|
Verwendete Variable |
|
Rückgabewert |
Text, der die Namen der Objekte durch Semikola und Anführungszeichen getrennt in folgender Form enthält: "Name Objekt 1";"Name Objekt 2";"Name Objekt 3" |
Anwendungsbeispiel(e)... |
Dem Listenfeld mit dem Namen ListenFeldObjekte wird der Name aller Berichte zugewiesen. Dies wird beim Öffnen des Formulars Form durchgeführt, indem die Ereigniseigenschaft Beim Öffnen des Formulars in VBA erstellt wird: Private Sub Form_Open(Cancel As Integer) |
Hinweis |
Damit das Listenfeld die übergebenen Argumente auswertet, muß die Eigenschaft Herkunftstyp (RowSourceType) auf Wertliste eingestellt werden. Mit dieser Einstellung können der RowSource-Eigenschaft aber nur max. 2048 Zeichen zugewiesen werden. Das Programm benötigt die Funktion |
Anwendungsgebiete, Fehler und Warnungen |
Anführungszeichen in Objektnamen führen zu Problemen bei der Verarbeitung in VBA. Wenn der Name des Objekts Anführungszeichen enthält, wird er daher nicht in die Liste der Objekte aufgenommen. |