Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.
Im Artikel Programmieren mit Makros haben Sie bereits die so genannten temporären Variablen, auch TempVars genannt, kennen gelernt. Im vorliegenden Artikel vertiefen wir dieses Thema und schauen uns vor allem an, wie Sie die TempVars unter VBA nutzen und wie Sie damit die Verbindung zwischen VBA und Makros herstellen.
Beispieldatenbank
Die Beispiele dieses Artikels finden Sie in der Datenbank 1405_Tempvars.accdb.
Voraussetzungen
TempVars wurden erst mit Access 2007 eingeführt. Dementsprechend können Sie als Nutzer von Access 2003 und älter nicht auf dieses Feature zugreifen.
Temporäre Variablen
Temporäre Variablen sind eigentlich ein Sonderfall des Collection-Objekts.Die Unterschiede sind, dass Sie dieses Objekt nicht erst wie ein Collection-Objekt deklarieren und instanzieren müssen, sondern dass es immer und überall bereitsteht.
Warum nun sollte ich einen Wert in einer temporären Variablen speichern und nicht in einer herkömmlichen Variablen
Dafür gibt es gleich mehrere Gründe:
- Temporäre Variablen werden im Gegensatz zu herkömmlichen Variablen im Falle eines Laufzeitfehlers nicht gelöscht – ein Beispiel folgt später. Sie werden erst beim Schließen der Access-Datei gelöscht (sofern Sie dies nicht vorher per Makro oder Code erledigt haben).
- Temporäre Variablen können Sie sowohl von VBA als auch von Makros aus nutzen.
Temporäre Variablen nehmen Variablen des Typs Variant auf, also auch Strings, Zahlen et cetera, aber keine Objekte.
Temporäre Variablen im Makros
Schauen wir kurz auf die Verwendung von temporären Variablen in Makros. Diese legen Sie wie in mit dem Makrobefehl FestlegenTempVar fest (siehe Bild 1). In diesem Fall heißt die Variable AktuelleAusgabe und wird mit dem Wert 5/2014 gefüllt.
Bild 1: Festlegen einer temporären Variablen per Makro
Das Makro macAktuelleAusgabeAusgeben sieht wie in Bild 2 aus und gibt den Inhalt der temporären Variablen in einem Meldungsfenster aus.
Bild 2: Ausgabe des Inhalts der temporären Variablen
Das Ergebnis ist das Meldungsfenster aus Bild 3. Der Wert des Ausdrucks [TempVar]![AktuelleAusgabe] erscheint als Teil der auszugebenden Zeichenkette. Wichtig: Der Zugriff auf die Elemente der TempVar-Auflistung (die hier unsinnigerweise im Singular anzugeben ist) erfolgt über die Ausrufezeichen-Syntax.
Bild 3: Per Makro angezeigtes Meldungsfenster mit dem Inhalt einer temporären Variablen
Temporäre Variable per VBA festlegen
Wenn Sie eine temporäre Variable per VBA festlegen möchten, erledigne Sie dies interessanterweise nicht mit einer der Methoden des DoCmd-Objekts, welches ja fast alle in Makros verwendeten Befehle anbietet.
Stattdessen nutzen Sie direkt die TempVars-Auflistung, in diesem Fall die Add-Methode dieser Auflistung:
Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...
Testzugang
eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel
diesen und alle anderen Artikel mit dem Jahresabo