Zur Hauptseite ... Zum Onlinearchiv ... Zum Abonnement ... Zum Newsletter ... Zu den Tools ... Zum Impressum ... Zum Login ...

Achtung: Dies ist nicht der vollständige Artikel, sondern nur ein paar Seiten davon. Wenn Sie hier nicht erfahren, was Sie wissen möchten, finden Sie am Ende Informationen darüber, wie Sie den ganzen Artikel lesen können.

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

Gedrucktes Heft

Diesen Beitrag finden Sie in Ausgabe 1/2011.

Unser Angebot für Sie!

Lesen Sie diesen Beitrag und 500 andere sofort im Onlinearchiv, und erhalten Sie alle zwei Monate brandheißes Access-Know-how auf 72 gedruckten Seiten! Plus attraktive Präsente, zum Beispiel das bald erscheinende Buch 'Access 2010 - Das Grundlagenbuch für Entwickler'!

Diesen Beitrag twittern

Zusammenfassung

Erfahren Sie, welche neuen Funktionen und Möglichkeiten die generalüberholten Makros in Access 2010 bieten und lernen Sie den neuen Makroeditor kennen.

Techniken

Makros

Voraussetzungen

Access 2010 und höher

Beispieldateien

-

Shortlink

www.access-im-unternehmen.de/759

Makros in Access 2010

André Minhorst, Duisburg

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. Abb. 1). Gleichzeitig erstellen Sie mit diesem Befehl ein neues, leeres Makro.

pic001.png

Abb. 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. Abb. 2).

pic002.png

Abb. 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 Abb. 3. Wenn Sie anschließend die Datenbank schließen und wieder öffnen, erscheint das erwartete Meldungsfenster.

pic003.png

Abb. 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 Abb. 4.

pic004.png

Abb. 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 Abb. 5 in der Registry gespeichert.

pic005.png

Abb. 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 Abb. 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

Abb. 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. Abb. 7). Sie finden dieses Element gleich ganz oben im Aktionskatalog oder im Kombinationsfeld zur Auswahl der Makro-Aktion.

pic007.png

Sie haben das Ende des frei verfügbaren Teils des Artikels erreicht. Lesen Sie weiter, um zu erfahren, wie Sie den vollständigen Artikel lesen und auf viele hundert weitere Artikel zugreifen können.

Sind Sie Abonnent?Jetzt einloggen ...
 

Kompletten Artikel lesen?

Einfach für den Newsletter anmelden, dann lesen Sie schon in einer Minute den kompletten Artikel und erhalten die Beispieldatenbanken.

E-Mail:

© 2003-2015 André Minhorst Alle Rechte vorbehalten.