PDA

Vollständige Version anzeigen : Globale Variable


Donar
26.01.2008, 11:35
Hallo,

gibt es in VBA eine globale Variable, die ich von einem Formular in das andere übergeben kann?

ebs17
26.01.2008, 11:55
Die gibt es, wenn Du sie (in einem allgemeinen Modul) deklarierst. Es können auch mehrere sein.

Du kannst aber auch über OpenArgs Informationen übergeben.

Donar
26.01.2008, 12:23
Vielen Dank für die Antwort. Leider habe ich das nicht ganz verstanden, denn es funktioniert so nicht bei mir.

1. Zu Beginn habe ich ein Modul angelegt, welches die globale Variable enthält.
(Dim globVar As String)
2. Nun habe ich in irgend einem Formular die Variable deklariert.
(globVar = "Irgendwas")
3. Bei einem Aufruf in einem anderen Formular wird mir jedoch nichts angezeigt. Wo liegt hier der Fehler?

ebs17
26.01.2008, 12:32
Public globVar As String

Josef P.
26.01.2008, 12:34
Wo liegt hier der Fehler?
An der fehlenden Einstellung für notwendige Variablendeklaration (option explicit). ;)
... es hätte nämlich beim Zuweisen von globVar = "Irgendwas" eine Fehlermeldung kommen sollen, die darauf hinweist, dass die Variable globVar nicht definiert ist.

Dem Formular ist sie erst bekannt, wenn du sie als Public deklarierst.
Public globVar As String


BTW:
globale Variablen können schnell zu Fehlern führen, wenn man nicht exakt auf deren Befüllung achtet!
=> Wenn es um den Datenaustausch zw. Formularen geht, dann würde ich direkt auf die Daten des Forms zugreifen.

Donar
26.01.2008, 12:50
Sehr schön, genau was ich brauchte. Hätte wohl gleich nach public suchen müsen. :)

Vielen Dank!