Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.
Makros sind eine Möglichkeit, einfache Vorgänge unter Access zu automatisieren. Sie sind zwar erheblich unflexibler als etwa VBA-Code, haben aber dennoch ihre Berechtigung – zum Beispiel in Form zweier Spezialmakros namens AutoExec und AutoKeys, die beim Start beziehungsweise beim Ausführen von Tastenkombination aufgerufen werden können. Da Microsoft mit Access 2010 die Webdatenbanken eingeführt hat, die ausschließlich mit Makros programmiert werden können, wollen wir an dieser Stelle eine Einführung in die Programmierung mit Makros bieten.
Beispieldatenbank
Die Beispiele dieses Artikels finden Sie in der Datenbank 1403_Makros.mdb.
Steuerelemente und Co.
Mit FestlegenEigenschaft stellen Sie den Wert einer Eigenschaft eines Steuerelements oder auch eines Formulars oder Berichts ein. Die Makroaktion erwartet die folgenden Parameter:
- Steuerelementname: Geben Sie hier den Namen des Steuerelements an, also beispielsweise txtText. Wenn Sie diesen Parameter leer lassen, bezieht sich die Makroaktion auf das Objekt, das aktuell den Fokus besitzt. Sie müssen dieses also gegebenenfalls zuvor noch aktivieren (mit öffnenFormular, öffnenBericht oder AuswählenObjekt).
- Eigenschaft: Stellen Sie hier die betroffene Eigenschaft ein. Sie können lediglich die folgenden Eigenschaften verwenden: Aktiviert, Sichtbar, Gesperrt, Links, Breite, Oben, Höhe, Vordergrundfarbe, Hintergrundfarbe, Beschriftung und Wert.
- Wert: Geben Sie hier den Wert für die Eigenschaft ein. Für Eigenschaften, welche die Werte Wahr/Falsch beziehungsweise True/False erwarten, geben Sie die Werte –1 oder 0 an.
Ein Beispiel folgt weiter unten.
Die Makroaktion BearbeitenListenElemente öffnet den Dialog, mit dem Sie die Listeneinträge eines Kombinationsfeldes oder Listenfeldes bearbeiten können. Dabei gibt es folgende Voraussetzungen: Das Steuerelement muss zuvor den Fokus erhalten, es muss seine Daten in einer Wertliste anzeigen (Eigenschaft Herkunftsart) und die Eigenschaft Wertlistenbearbeitung zulassen muss den Wert Ja enthalten.
Der mit der Makroaktion geöffnete Dialog sieht wie in Bild 1 aus (siehe auch Formular frmBearbeitenListenElemente).
Bild 1: öffnen des Dialogs zum Anzeigen einer Wertliste zur Bearbeitung
Datensatzoperationen
Wie Sie den Datensatzzeiger bewegen und wie Sie einen neuen Datensatz anzeigen, haben Sie in den vorherigen Abschnitten gelernt. Schauen wir uns nun an, welche Operationen mit Datensätzen Sie noch mit der Hilfe von Makros durchführen können.
Die Makroaktion DatensatzLöschen etwa erlaubt das Löschen des aktuellen Datenatzes. Um einen Datensatz zu löschen, aktivieren Sie im gleichen Makro zuvor das Objekt, in diesem sich der zu löschende Datensatz befindet. Wenn Sie eine Schaltfläche etwa in einem Detailformular anlegen, dass selbst den zu löschenden Datensatz anzeigt, braucht diese lediglich die Makroaktion DatensatzLöschen aufzurufen. Ein Beispiel dazu finden Sie im Formular frmArtikelDetail.
Wenn Sie hingegen einen Datensatz in einem Unterformular oder in einem anderen Formular speichern möchten, müssen Sie das entsprechende Element zuvor mit dem Fokus versehen (siehe Schaltfläche Datensatz löschen im Formular frmArtikel).
Die Makroaktion DatensatzSpeichern speichert den aktuellen Datensatz in dem Objekt, das den Fokus besitzt. Hier sehen wir uns ein etwas umfangreicheres Beispiel an (siehe Bild 2).
Bild 2: Anlegen und speichern eines neuen Datensatzes
Das Makro aus der Abbildung (siehe Formular frmArtikelDetail) erledigt drei Schritte:
- Es erstellt einen neuen Datensatz.
- Es füllt das Steuerelement Artikelname mit einem Wert, damit der Datensatz in Bearbeitung und ungespeichert ist.
- Dann ruft es die Makroaktion SpeichernDatensatz auf (die eigentlich der Makroaktion AusführenMenübefehl mit dem Wert DatensatzSpeichern entspricht) und speichert somit den Datensatz.
Gegebenenfalls möchten Sie auch einmal die änderungen an einem bereits in Bearbeitung befindlichen und noch nicht gespeicherten Datensatzes rückgängig machen. Dies erledigt man normalerweise mit der Escape-Taste, aber nicht jeder Benutzer ist sich dieser Funktion bewusst.
Also fügen wir dem Formular frmArtikelDetail noch eine Schaltfläche hinzu, welche die änderungen seit dem letzten Speichervorgang rückgängig macht.
Dazu verwenden wir schlicht und einfach die Makroaktion RückgängigDatensatz, die wiederum der Makroaktion AusführenMenübefehl mit dem Parameterwert RückgängigDatensatz entspricht. Ein Beispiel finden Sie hinter der Schaltfläche änderungen rückgängig machen im Formular frmArtikelDetail.
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