Makros in Access 2010

Eine der wesentlichen Neuerungen von Access 2010 sind die stark aufgewerteten Makros. Microsoft möchte sich mit einer vereinfachten Methode für die Programmierung von Access aber nicht nur neue Benutzergruppen erschließen, sondern bestimmt damit auch den Rahmen für die Programmierung der ebenfalls neuen Web-Version von Access-Datenbanken. Wir bleiben aber zunächst auf dem Desktop und zeigen Ihnen, was Sie mit den neuen Makrofunktionen alles anstellen können.

Die Möglichkeiten der Makros in früheren Access-Versionen wurden kaum weiterentwickelt (zuletzt tat sich dort in der Version 2007 etwas) und wurden vermutlich nur von Einsteigern genutzt. Wer höhere Ansprüche hatte, nutzte VBA zur Programmierung seiner Datenbankanwendung.

Falls Sie VBA zuvor in Excel oder Word genutzt haben, haben Sie den Begriff Makro vermutlich synonym mit Prozedur verwendet – das ist unter Access etwas anders. Hier versteht man unter Makros eine etwas andere Art der Programmierung, bei der die Befehle in einer Art grafischem Editor zusammengefügt werden. Das bleiben die Makros auch nach wie vor, nur gibt es nunmehr wesentlich größere Möglichkeiten, etwa zum Verschachteln von Code oder für den Datenzugriff.

Außerdem hat Microsoft mit Access 2010 einen neuen Access-Dateityp eingeführt, mit dem Sie eine komplette Datenbank auf einen SharePoint-Server laden und über das Internet verfügbar machen können – die Benutzer greifen dann über den Internet-Browser auf sämtliche Funktionen der Datenbank zu.

Verständlich, dass hier nicht alle VBA-Elemente und Befehle weiterer Bibliotheken wie DAO und ADODB zum Einsatz kommen können. Also hat Microsoft alle benötigten Funktionen auf den kleinsten gemeinsamen Nenner gebracht und daraus eine neue Version der Makros gebaut – samt neuem Editor für die Eingabe der Makrobefehle.

Voraussetzungen

Die wichtigste Voraussetzung für den Einsatz der neuen Makros ist Access 2010. Viele von Ihnen werden noch nicht mit dieser Version arbeiten.

Wenn Sie die in diesem Beitrag vorgestellten Beispiele dennoch nachvollziehen möchten, können Sie die neue Office-Version bei Microsoft herunterladen.

Bei der Erstellung dieses Beitrags war dies beispielsweise unter der folgenden Adresse möglich: http://technet.microsoft.com/de-de/evalcenter/ee390818.aspx (Anmeldung mit kostenloser Windows Live ID erforderlich).

Der Makro-Editor

Den neuen Makro-Editor öffnen Sie mit einem Klick auf den Ribbon-Eintrag Erstellen|Makros und Code|Makro (s. Bild 1). Gleichzeitig erstellen Sie mit diesem Befehl ein neues, leeres Makro.

pic001.png

Bild 1: Mit diesem Befehl öffnen Sie den Makro-Editor von Access 2010.

Schauen wir uns zunächst den neuen Makro-Editor und seine Bestandteile an (s. Bild 2).

pic002.png

Bild 2: Der neue Makro-Editor und der Aktionskatalog

Das Fenster mit dem Titel Makro1 entspricht prinzipiell dem Codefenster im VBA-Editor, wenn es auch nur jeweils ein einziges Makro aufnehmen kann. Hier können Sie bereits einen ersten Makrobefehl auswählen.

Im Fenster Aktionskatalog finden Sie weitere Befehle, die nach Funktion gruppiert sind. Sie werden schnell feststellen, dass Sie mit dem Ribbon-Eintrag Entwurf|Einblenden/Ausblenden|Alle Aktionen anzeigen die Anzahl der angezeigten Aktionen erweitern können.

Der Unterschied zwischen den standardmäßig angezeigten und den zusätzlichen Aktionen ist, dass nur die Standardaktionen in Datenbanken ausgeführt werden, die sich nicht an einem vertrauenswürdigen Speicherort befinden (diesen stellen Sie in den Access-Optionen im Bereich Sicherheitscenter unter Vertrauenswürdige Speicherorte ein).

Auch das Kombinationsfeld Neue Aktion einfügen im neu angelegten Makro zeigt nur die Einträge an, die auch im Fenster Aktionskatalog erscheinen.

Vertrauenswürdige Makro-Aktionen

Das probieren wir gleich einmal aus. Dazu speichern Sie das soeben geöffnete, neue Makro unter dem Namen AutoExec. Dies bewirkt die automatische Ausführung des Makros beim Öffnen der Datenbankdatei.

Als Erstes fügen wir nur eine harmlose Aktion ein, beispielsweise Meldungsfeld (auch die Aktionsnamen wurden mit Access 2010 generalüberholt – oder handelt es sich bei Meldungsfeld statt Meldungsfenster schlicht um einen Übersetzungsfehler).

Es erscheint eine Art Formular, mit dem Sie die Parameter dieser Aktion eingeben können. Füllen Sie diese etwa wie in Bild 3. Wenn Sie anschließend die Datenbank schließen und wieder öffnen, erscheint das erwartete Meldungsfenster.

pic003.png

Bild 3: Anlegen einer Aktion zur Ausgabe eines Meldungsfensters

Bevor wir nun eine nicht vertrauenswürdige Aktion unterbringen, folgt ein kleiner Exkurs in die Behandlung vertrauenswürdiger Dokumente.

Wenn Sie eine Datenbank unter Access 2010 öffnen, erscheint standardmäßig der gelbe Meldungsbalken aus Bild 4.

pic004.png

Bild 4: Warnmeldung beim erstmaligen Öffnen einer Access-Datenbank

Diesen klickt man üblicherweise achtlos weg – zumindest, wenn man als Entwickler mit den selbst angelegten Datenbanken arbeitet.

Wenn Sie dies tun, werden Pfad und Name der Datenbankdatei wie in Bild 5 in der Registry gespeichert.

pic005.png

Bild 5: Speichern vertrauenswürdiger Dokumente in der Registry

Dummerweise bietet Access 2010 keine Möglichkeit, eine solche Liste direkt von Access aus einzusehen.

Für unser kleines Experiment ist es jedoch notwendig, dass Sie die Beispieldatenbank aus dieser Liste entfernen, denn sonst wird sie alle Aktionen – ob vertrauenswürdig oder nicht – klaglos ausführen.

Anschließend fügen Sie hinter der Meldungsfeld-Aktion eine der nicht vertrauenswürdigen Aktionen ein; beispielsweise die Aktion SpeichernObjekt mit dem Objekttyp Makro und dem Objektnamen AutoExec.

Das Resultat können Sie Bild 6 entnehmen: Bei angezeigter Sicherheitswarnung haben wir dort die erste Aktion, also Meldungsfeld, mit OK bestätigt, um für die zweite, nicht vertrauenswürdige Aktion eine entsprechende Meldung zu erhalten.

pic006.png

Bild 6: Nur vertrauenswürdige Datenbanken führen alle Makro-Aktionen aus.

Diese Meldung wird Otto Normalverbraucher natürlich überfordern, also müssen wir ihm auf andere Weise erklären, dass er die Datenbank als vertrauenswürdig einstufen muss, wenn er alle enthaltenen Funktionen ausführen möchte.

Wenn … dann!

Damit erhalten wir gleich ein schönes Beispiel für ein Wenn…dann-Konstrukt in Makros. Als Erstes legen Sie also ein Element des Typs Wenn an (s. Bild 7). Sie finden dieses Element gleich ganz oben im Aktionskatalog oder im Kombinationsfeld zur Auswahl der Makro-Aktion.

pic007.png

Bild 7: Der erste Teil einer Wenn-Bedingung

Tragen Sie hinter Wenn den Ausdruck [CurrentProject].[IsTrusted] ein. Dieser Ausdruck prüft, ob die aktuelle Datenbank vertrauenswürdig ist – egal, ob Sie die Datenbank selbst oder ihren Speicherort als vertrauenswürdig eingestuft haben.

Falls ja, soll eine entsprechende Meldung erscheinen. Diese legen Sie im gleichen Kasten an, in dem sich auch das Schlüsselwort Wenn befindet (s. Bild 8).

pic008.png

Bild 8: Ist die Datenbank vertrauenswürdig, soll diese Meldung erscheinen.

Falls die Datenbank nicht vertrauenswürdig ist, soll ebenfalls eine Meldung erscheinen und die Datenbank geschlossen werden. Um den dafür benötigten Else-Zweig anzulegen, klicken Sie einfach auf Sonst hinzufügen. Legen Sie im neu angelegten Bereich zunächst eine entsprechende Meldung an und eine weitere Aktion zum Schließen der Datenbank.

Das Makro sieht nun wie in Bild 10 aussehen.

pic009.png

Bild 9: Das fertige Makro zum Abfragen der Vertrauenswürdigkeit einer Datenbank

pic010.png

Bild 10: Das fertige Makro zum Abfragen der Vertrauenswürdigkeit einer Datenbank

Als dritte Option für die Gestaltung von If…Then-Konstrukten bietet sich der Sonst Wenn-Zweig an. Hier geben Sie genau wie beim Wenn-Teil einen Ausdruck ein, der über die Durchführung der enthaltenen Aktionen entscheidet.

Makro-Befehle suchen

Da die Anzahl der verfügbaren Makros mit dieser Version von Access erheblich gestiegen ist, werden Sie das kleine Suchtextfeld oben im Aktionskatalog begrüßen (s. Bild 11).

pic011.png

Bild 11: Die Suchfunktion des Aktionskatalogs

Hier geben Sie einen Begriff in der Sprache der jeweiligen Version ein (zum Beispiel Datensatz oder Formular). Mit jedem Buchstaben wird die Anzeige der gefundenen Aktionen aktualisiert. Die Suche bezieht sich übrigens nicht nur auf die Namen der Aktionen, sondern auch auf deren Beschreibungen.

Makro in Makro

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

den kompletten Artikel im PDF-Format mit Beispieldatenbank

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar