Benutzung auf eigene Gefahr ! |
Beschreibung |
Die Funktion erstellt eine Liste mit den Namen aller Berichte 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 BerichtsListeErstellen() As String Dim Liste As String, Nr As Integer Const Art = "Reports" Liste = vbNullString ' Variable löschen ' Berichte der Reihe nach abfragen und Namen hinzufügen For Nr = 0 To CurrentDb.Containers(Art).Documents.Count - 1 Liste = Liste & """;""" & StringZeichenVerdoppeln(CurrentDb.Containers(Art).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) & """" BerichtsListeErstellen = Liste End Function |
Verwendete Variable |
|
Rückgabewert |
Text, der die Namen der Berichte durch Semikola und Anführungszeichen getrennt in folgender Form enthält: "Name Bericht 1";"Name Bericht 2";"Name Bericht 3" |
Anwendungsbeispiel(e)... |
Dem Listenfeld mit dem Namen BerichtsListe werden die Namen 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 'StringZeichenVerdoppeln' |
Anwendungsgebiete, Fehler und Warnungen |
Wenn der Name des Berichts Anführungszeichen enthält, wird er nicht in die Liste der Berichte aufgenommen. |