Makros

Die Nutzung von Makros ist nicht zu empfehlen. Sie sind für Anfänger zwar relativ leicht zu erlernen, aber für eine vernünftige Anwendung nur bedingt praxistauglich. So haben sie z. B. den Nachteil, dass sie ausgesprochen starr und unflexibel sind. Anstelle von Makros sollte man, trotz der höheren Einarbeitungszeit, Module verwenden. Module werden in der Programmiersprache Visual Basic für Applikationen (kurz „VBA“) geschrieben. Die Möglichkeiten und die Flexibilität, die sich mit VBA bietet, geht weit über die Möglichkeiten von Makros hinaus. Darüber hinaus ist VBA auch in vielen anderen Officeanwendungen integriert, so dass das Wissen von VBA auch dort genutzt werden kann. Daher wird hier nur das Nötigste zu Makros kurz angesprochen.

Makros bestehen aus einzelnen Makroaktionen, die im Makroeditor aus Kombinationsfeldern ausgewählt werden. Je nach Makroaktion gibt es entsprechende Einstellungen. Gespeicherte Makros können aus Formularen oder Berichten heraus aufgerufen werden, indem man dort in einer Ereigniseigenschaft den Namen des Makros eingibt. Genauso gut kann man von dort aber auch VBA-Code starten, indem man [Ereignisprozedur] auswählt. Sämtliche Makroaktionen stehen in VBA als Eigenschaften des DoCmd-Objekts zur Verfügung. Damit könnte man alles, was mit Makros möglich ist, genauso auch in VBA umsetzen - nur, dass damit die Möglichkeiten von VBA bei Weitem noch nicht ausgereizt sind.

Mit Access 2010 wurde allerdings nicht nur der Makroeditor vollständig überarbeitet, sondern es ist auch ein neues Feature hinzugekommen, das bisher von Accessentwicklern vermisst wurde: Datenmakros bieten eine Art Ereignisüberwachung für Tabellen. Das entspricht in etwa dem, was in anderen Datenbanken „Trigger“ genannt wird und bisher in Access nur über den Umweg einer Ereignisüberwachung in Formularen möglich war. Leider ermöglichen Datenmakros keinen Zugriff mit VBA. In allen anderen Fällen ist jedoch nach wie vor VBA die bessere Wahl.