Makros in Access 2007

Makro per Assistent

Access liefert einen Assistenten für das Erstellen einiger Steuerelemente, so etwa für Schaltflächen. Damit er seinen Dienst verrichtet, muss die passende Schaltfläche während des Entwurfs aktiviert sein (Bild 6).

Bild 6: Aktivieren des Assistenten für das Erstellen von Steuerelementen.
Bild 6: Aktivieren des Assistenten für das Erstellen von Steuerelementen.

Wenn Sie den Assistenten verwenden möchten, um schnell rudimentäre Funktionen einzufügen (der Assistent bietet einige davon, wie Bild 7 zeigt), rechnen Sie möglicherweise damit, dass er die passenden Codezeilen in eine Ereignisprozedur eines VBA-Moduls schreibt – genau so, wie es bis Access 2003 stets der Fall war.

Bild 7: Der Befehlsschaltflächen-Assistent bietet einige grundlegende Funktionen an.
Bild 7: Der Befehlsschaltflächen-Assistent bietet einige grundlegende Funktionen an.

Aber weit gefehlt: Access 2007 erstellt ein eingebettetes Makro für die neue Schaltfläche (Bild 8). Wer also auf einen VBA-Code hofft, den er später erweitern kann, wird enttäuscht. Andererseits zeigt der Vergleich mit dem von Access 2003 erzeugten Code für die gleiche Funktion (Listing 1), dass die VBA-Variante auch nicht unbedingt gut zu lesen ist. Wer aber flexibel sein möchte, arbeitet besser direkt mit einer selbst programmierten Routine.

Bild 8: Ein per Assistent erstelltes eingebettetes Makro.
Bild 8: Ein per Assistent erstelltes eingebettetes Makro.

Private Sub Befehl0_Click()
On Error GoTo Err_Befehl0_Click
DoCmd.DoMenuItem acFormBar, acEditMenu, 8, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 2, , acMenuVer70
DoCmd.DoMenuItem acFormBar, acEditMenu, 5, , acMenuVer70 'Paste Append
Exit_Befehl0_Click:
Exit Sub
Err_Befehl0_Click:
MsgBox Err.Description
Resume Exit_Befehl0_Click
End Sub