In Access sollen oft mehrere Dinge „auf Knopfdruck“ automatisch auf einmal starten. Beispielsweise soll eine Schaltfläche in einem Formular eine oder gleich mehrere Aktionsabfragen ausführen, danach noch einen Bericht ausdrucken und zu guter Letzt ein Formular schließen. Zur Sicherheit soll vielleicht vorher noch eine Meldung an den Nutzer erfolgen; „Daten jetzt verarbeiten und Abschlussbericht drucken?". All das ist kein Problem mit „Visual Basic für Applikationen“, abgekürzt VBA.
Private Sub cmdButton_Click() Dim db As DAO.Database Dim strFrage As String strFrage = "Daten jetzt verarbeiten und Abschlussbericht drucken?" If MsgBox(strFrage, vbYesNo) = vbYes Then Set db = CurrentDb db.Execute "qryDatenVerarbeiten" DoCmd.OpenReport "rptAbschlussbericht" DoCmd.Close acForm, Me.Name Set db = Nothing End If End Sub
VBA ist eine eigenständige, leistungsfähige Programmiersprache, die in fast
allen Produkten von Microsoft Office und sogar in Produkten von Corel integriert
ist. Wie man am Beispiel oben erkennen kann, ist VBA in Microsoft Access sogar fast
schon unverzichtbar - und zwar derart, dass die Module im Gegensatz zu anderen
Officeanwendungen gar nicht so sehr versteckt sind, sondern gleich in der
Navigationsleiste unter dem Menüpunkt „Module“ angezeigt werden. Aber natürlich
kann man in Access - genau wie in anderen Officeanwendungen - den VBA-Editor auch
mit [Alt][F11]
öffnen.
Allerdings würde eine Einführung in VBA den Umfang des Access-Tutorials in etwa verdoppeln. Und da VBA ja auch in anderen Anwendungen integriert ist, gibt es nicht nur zahlreiche Bücher zu VBA dazu, sondern mit dem VBA-Tutorial ein Tutorial dafür, das mit dem Access-tutorial vergleichbar ist. Im Folgenden finden sich lediglich einige VBA-Module, die speziell im Zusammenhang mit Access sinnvoll sind. Teilweise werden dafür VBA-Kenntnisse vorausgesetzt.
Und auch, wenn inzwischen Einiges davon ziemlich angestaubt oder veraltet ist: Man kann noch immer die knowhow.mdb (Version3.1) empfehlen, in der Klaus Oberdalhoff zahlreiche verschiedene Funktionen, Ideen und Lösungen zusammengetragen hat. Die Veröffentlichung im Rahmen des Access-Tutorials hat er freundlicherweise gestattet.