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