Beitrag aus SmartTools Access Weekly
Kompletten Pfad der Datenbank in allen Formularen anzeigen
Access 365 2024 2021 2019 2016 2013 2010
FRAGE Der Pfad/Name der aktuellen Datenbank soll für die Anzeige in allen Formularen über einen String definiert werden. Dieser String (strDBPath) soll dann in allen Formularen der Anwendung zur Verfügung stehen. Ich habe in dem Startformular den String wie folgt definiert: Public strDBPath As String
. Den Inhalt setze ich in der Ereignisprozedur "Beim Laden": strDBPath = CurrentDb.Name
. Wenn ich jedoch in einem Formular (in der gleichen Anwendung) auf den String zugreife, kommt es zu einer Fehlermeldung. Wie kann ich eine Variable definieren, so dass diese in allen Formularen einer Anwendung verwendet werden kann?
H. Müller
ANTWORT Sie sind hier über eine kleine Ungereimtheit in Access gestolpert: Mit "Public" (oder "Global") werden normalerweise Variablen deklariert, die in der gesamten Anwendung zur Verfügung stehen. Dazu muss die Deklaration allerdings in einem Modul erfolgen. Das Modul eines Formulars ist jedoch ein Klassenmodul, hier hat "Public" (oder "Global") die gleiche Wirkung wie "Private" (oder "Dim"), es werden also Variablen deklariert, die nur Gültigkeit im Bereich des Formulars haben und nach außen hin nicht verfügbar sind. Um das Problem zu lösen, verschieben Sie einfach die Deklaration der Variablen "strDBPath" in ein Modul. Wenn es nur darum geht, Pfad/Name der Datenbank im Formular anzuzeigen, können Sie auch ungebundene Textfelder verwenden und in deren Eigenschaft "Steuerelementeinhalt" folgenden Ausdruck eingeben:
=[CurrentDb].[Name]