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 aus dem 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 mit dem VBA-Tutorial ein eigenes Tutorial dafür. 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.