Einführung in die Access-Programmierung

Wenn Sie eine neue Datenbank erstellen, erstellen Sie üblicherweise zunächst einige Datenbankobjekte wie Tabellen, Formulare und Berichte. Schließlich kommen Sie an einen Punkt, an dem Sie Programmierungselemente hinzufügen müssen, um bestimmte Vorgänge zu automatisieren und die Datenbankobjekte miteinander zu verknüpfen. Dieser Artikel enthält eine Orientierung zu den Programmiertools in Access 2010.

Hinweis : Sie können einer Webdatenbank VBA-Code (Visual Basic für Applikationen) hinzufügen. Dieser Code kann aber nicht ausgeführt werden, während die Datenbank in einem Webbrowser ausgeführt wird. Wenn eine Webdatenbank VBA-Code enthält, können Sie den Code erst ausführen, nachdem Sie die Webdatenbank mit Access geöffnet haben. Wenn Sie in einer Webdatenbank programmgesteuerte Aufgaben ausführen möchten, müssen Sie dafür Access-Makros verwenden.

Weitere Informationen zu Webdatenbanken finden Sie im Artikel Erstellen einer im Web freizugebenden Datenbank.

Inhalt dieses Artikels

Was ist Programmierung?

Soll ich Makros oder VBA-Code verwenden?

Ausführen üblicher Programmieraufgaben mit dem Befehlsschaltflächen-Assistenten

Grundlegendes zu Makros

Grundlegendes zu VBA-Code

Konvertieren von Makros in VBA-Code

Informationen zum Verwenden des Hilfesystems

Was ist Programmierung?

In Access ist mit Programmierung gemeint, dass einer Datenbank Funktionalität hinzugefügt wird, indem Access-Makros oder VBA-Code (Visual Basic für Applikationen) verwendet werden. Angenommen, Sie haben ein Formular und einen Bericht erstellt und möchten dem Formular eine Befehlsschaltfläche hinzufügen, über die, wenn auf sie geklickt wurde, das Formular geöffnet wird. Programmierung bedeutet in diesem Fall, dass ein Makro oder eine VBA-Prozedur erstellt und anschließend die BeimKlicken-Ereigniseigenschaft der Schaltfläche so eingestellt wird, dass nach einem Klicken auf die Schaltfläche das Makro oder die Prozedur ausgeführt wird. Für einen einfachen Vorgang wie das Öffnen eines Berichts können Sie den Befehlsschaltflächen-Assistenten dazu verwenden, die gesamte Programmierarbeit zu übernehmen. Sie können den Assistenten aber auch ausschalten und die Programmierung selbst vornehmen.

Hinweis : In vielen Microsoft Office-Programmen wird der Begriff "Makro" als Synonym für VBA-Code verwendet. Für Access-Benutzer kann dies verwirrend sein, weil in Access mit dem Begriff "Makro" eine benannte Auflistung von Makroaktionen gemeint ist, die Sie mit dem Makro-Generator zusammenstellen können. Access-Makroaktionen entsprechen nur einer Teilmenge der Befehle, die in VBA verfügbar sind. Der Makro-Generator bietet Ihnen eine strukturiertere Benutzeroberfläche als der Visual Basic-Editor und ermöglicht es Ihnen, Steuerelementen und Objekten Programmierelemente hinzuzufügen, ohne VBA-Programmierung lernen zu müssen. In Artikeln der Access-Hilfe werden Access-Makros als Makros bezeichnet. Entsprechend wird VBA-Code als VBA-Code, als Funktion oder als Prozedur bezeichnet. VBA-Code befindet sich in Klassenmodulen (die Bestandteil einzelner Formulare und Berichte sind und üblicherweise Code enthalten, der nur für diese Objekte vorgesehen ist) und in Modulen (die nicht speziellen Objekten zugeordnet sind und meist "globalen" Code enthalten, der in der gesamten Datenbank verwendet werden kann).

Objekte (z. B. Formulare und Berichte) sowie Steuerelemente (z. B. Befehlsschaltflächen und Textfelder) haben verschiedene Ereigniseigenschaften, denen Sie Makros oder Prozeduren zuordnen können. Jede Ereignisprozedur ist einem speziellen Ereignis zugeordnet (z. B. Klicken mit der Maus, Öffnen eines Formulars oder Ändern von Text in einem Textfeld). Ereignisse können auch durch Vorgänge, die außerhalb von Access stattfinden (beispielsweise Systemereignisse), oder durch Makros oder Prozeduren ausgelöst werden, die anderen Ereignissen zugeordnet sind. Eine Datenbank kann sehr komplex werden, wenn Sie verschiedenen Ereigniseigenschaften vieler Objekte mehrere Makros oder Prozeduren zuordnen. In den meisten Fällen lassen sich die gewünschten Ergebnisse aber mit relativ wenig Programmierung erzielen.

Seitenanfang

Soll ich Makros oder VBA-Code verwenden?

Die Entscheidung, ob Makros, VBA oder beides verwendet werden soll, hängt hauptsächlich davon ab, wie die Datenbank bereitgestellt oder verteilt werden soll. Wenn die Datenbank z. B. auf Ihrem Computer gespeichert ist, Sie der einzige Benutzer sind und Sie sich mit VBA-Code auskennen, werden Sie wahrscheinlich entscheiden, die meisten Programmieraufgaben mit VBA zu erledigen. Ist dagegen vorgesehen, die Datenbank mit anderen Personen gemeinsam zu nutzen und die Datenbank dazu auf einem Dateiserver zu speichern, kann es ratsam sein, aus Sicherheitsgründen auf das Verwenden von VBA-Code zu verzichten. Wenn Sie die Datenbank als Access-Webanwendung veröffentlichen möchten, müssen Sie Makros verwenden, weil VBA nicht mit dem Webpublishingfeature kompatibel ist.

Access-Webanwendungen    Access-Webanwendungen sind ein neues Feature von Access 2010, mit dem Sie eine Anwendung auf einem Microsoft SharePoint-Server veröffentlichen können, auf dem Access Services ausgeführt wird. Dadurch wird es anderen Benutzern ermöglicht, eine Datenbank über einen standardmäßigen Internetbrowser zu verwenden, statt gezwungen zu sein, Access auf den jeweiligen Computern installiert zu haben. Wenn Sie beabsichtigen, Ihre Anwendung als Access-Webanwendung zu veröffentlichen, dürfen Sie für Programmieraufgaben nur Makros verwenden, weil VBA-Code nicht mit dem Webveröffentlichungsfeature kompatibel ist.

Wenn Sie eine neue Access-Webanwendung entwerfen, sollten Sie das Entwerfen durch Klicken auf Leere Webdatenbank beginnen, wenn Sie Access das erste Mal starten. Dadurch erfolgt eine Einschränkung der Features, mit denen die Datenbank erstellt werden kann, sodass sich einfacher sicherstellen lässt, dass die Webanwendung veröffentlicht werden kann.

Clientanwendungen    Wenn Sie Ihre Anwendung nicht auf einem Server mit Access Services veröffentlichen möchten, können Sie Ihre Entscheidung, ob Makros oder VBA-Code verwendet werden soll, von zwei Aspekten abhängig machen: gewünschte Sicherheit und gewünschte Funktionalität. Sicherheit ist ein Thema, weil VBA zum Erzeugen von Code verwendet werden kann, der die Sicherheit Ihrer Daten beeinträchtigen oder Dateien auf Ihrem Computer beschädigen kann. Wenn Sie mit einer Datenbank arbeiten, die von einer anderen Person erstellt wurde, sollten Sie VBA-Code nur aktivieren, wenn Sie wissen, dass die Datenbank aus einer vertrauenswürdigen Quelle stammt. Wenn Sie eine Datenbank erstellen, die von anderen Benutzern verwendet werden soll, sollten Sie möglichst keine Programmiertools einbinden, die von einem Benutzer erfordern, der Datenbank speziell einen vertrauenswürdigen Status zu erteilen. Allgemeine Vorgehensweisen, wie sich verhindern lässt, dass Benutzer einer Datenbank vertrauen müssen, sind in diesem Abschnitt weiter unten beschrieben.

Damit die Sicherheit Ihrer Datenbank gewährleistet ist, sollten Sie nach Möglichkeit Makros verwenden und VBA-Programmierung ausschließlich für Vorgänge nutzen, die nicht mit Makroaktionen ausgeführt werden können. Darüber hinaus sollten Sie nur Makroaktionen verwenden, für deren Ausführung es nicht erforderlich ist, der Datenbank einen vertrauenswürdigen Status zu erteilen. Wenn Sie die Verwendung von Makroaktionen in dieser Weise einschränken, haben Benutzer die Gewissheit, dass die Datenbank keinen Programmcode enthält, der Daten oder Dateien auf ihren Computern beschädigen könnte.

Überlegungen zu Makros

In Access 2010 gibt es viele neue Makroaktionen, mit denen Sie noch leistungsfähigere Makros erstellen können als in den früheren Versionen von Access. Beispielsweise können Sie nun mithilfe von Makroaktionen globale temporäre Variablen erstellen und verwenden, und Sie können Fehler eleganter handhaben, indem Sie die neuen Makroaktionen zur Fehlerbehandlung verwenden. In früheren Versionen von Access gibt es diese Möglichkeiten nur, wenn mit VBA gearbeitet wird. Darüber hinaus können Sie ein Makro direkt in die Ereigniseigenschaft eines Objekts oder Steuerelements einbetten. Ein eingebettetes Makro wird Bestandteil des Objekts oder Steuerelements und verbleibt in dem Objekt oder Steuerelement, wenn dieses verschoben oder kopiert wird.

Makros bieten eine einfache Möglichkeit zum Erledigen vieler Programmieraufgaben wie Öffnen und Schließen von Formularen oder Ausführen von Berichten. Sie können die Datenbankobjekte (Formulare, Berichte usw.), die Sie erstellt haben, schnell und einfach verknüpfen, weil Sie sich nur wenig Syntax merken müssen. Die Argumente jeder Aktion werden im Makro-Generator angezeigt.

Abgesehen von der verbesserten Sicherheit und Benutzerfreundlichkeit, die Makros bieten, müssen Sie Makros verwenden, wenn Sie die folgenden Aufgaben ausführen möchten:

  • Einer Taste eine Aktion oder eine Gruppe von Aktionen zuweisen. Dafür muss eine Makrogruppe erstellt werden, die den Namen AutoKeys hat.

  • Beim ersten Öffnen einer Datenbank eine Aktion oder eine Gruppe von Aktionen ausführen. Dafür muss ein Makro erstellt werden, das den Namen AutoExec hat.

    Hinweis :  Das Makro AutoExec wird vor allen anderen Makros und vor jeglichem VBA-Code ausgeführt. Dies gilt selbst dann, wenn Sie im Dialogfeld Access-Optionen ein Startformular festgelegt und dem BeimÖffnen- oder BeiLaden-Ereignis des Formulars ein Makro oder VBA-Code zugeordnet haben.

Weitere Informationen zum Erstellen von Makros finden Sie im Abschnitt Grundlegendes zu Makros.

Überlegungen zu VBA

Sie sollten VBA-Programmierung statt Makros verwenden, wenn Sie Folgendes beabsichtigen:

  • Integrierte Funktionen verwenden oder eigene Funktionen erstellen    Zu Access gehören viele integrierte Funktionen (z. B. die Funktion IPmt (ZINSZ), mit der Zinszahlungen berechnet werden). Mit den integrierten Funktionen können Sie Berechnungen ausführen, ohne komplizierte Ausdrücke erstellen zu müssen. Mit VBA-Code können Sie außerdem eigene Funktionen erstellen, um entweder Berechnungen auszuführen, die die Möglichkeiten eines Ausdrucks übersteigen, oder um komplexe Ausdrücke zu ersetzen. Außerdem können Sie selbst erstellte Funktionen in Ausdrücken verwenden, wenn Sie einen üblichen Vorgang auf mehrere Objekte anwenden möchten.

  • Objekte erstellen oder bearbeiten    Wenn ein Objekt erstellt oder geändert werden soll, ist es meist am einfachsten, dies in der Entwurfsansicht des Objekts vorzunehmen. Es gibt aber Situationen, in denen die Definition eines Objekts über Code bearbeitet werden muss. Mit VBA können Sie alle Objekte in einer Datenbank sowie die Datenbank selbst bearbeiten.

  • Aktionen Sie auf Systemebene ausführen    Sie können in einem Makro die Aktion AusführenAnwendung verwenden, um aus Access heraus ein anderes Programm (z. B. Microsoft Excel) auszuführen. Es gibt aber keine Makros, mit denen Sie weitere Vorgänge außerhalb von Access ausführen können. Mit VBA können Sie ermitteln, ob eine bestimmte Datei auf dem Computer vorhanden ist, Automatisierung oder DDE (Dynamic Data Exchange) dazu verwenden, mit anderen Microsoft Windows-Programmen (z. B. Excel) zu kommunizieren, und Funktionen in Windows-DLLs (Dynamic-Link Libraries) aufrufen.

  • Datensätze einzeln bearbeiten    VBA ermöglicht es Ihnen, die Datensätze einer Datensatzmenge einzeln zu durchlaufen und für jeden Datensatz einen Vorgang auszuführen. Im Gegensatz dazu arbeitet ein Makro immer mit einer gesamten Datensatzmenge.

Seitenanfang

Ausführen üblicher Programmieraufgaben mit dem Befehlsschaltflächen-Assistenten

Wenn Sie einem Formular eine Befehlsschaltfläche hinzufügen, können Sie den Befehlsschaltflächen-Assistenten als Unterstützung für die ersten Programmierschritte verwenden. Der Assistent unterstützt Sie beim Erstellen einer Befehlsschaltfläche, mit der eine bestimmte Aufgabe ausgeführt wird. In einer Access 2010-Datei (ACCDB) erstellt der Assistent ein Makro, das in die BeimKlicken-Eigenschaft der Befehlsschaltfläche eingebettet wird. In einer MDB- oder ADP-Datei erstellt der Assistent VBA-Code, weil in diesen Dateiformaten keine eingebetteten Makros verfügbar sind. In beiden Fällen können Sie das Makro oder den VBA-Code entsprechend Ihren Anforderungen ändern bzw. erweitern.

  1. Klicken Sie im Navigationsbereich mit der rechten Maustaste auf das Formular, dem Sie die Befehlsschaltfläche hinzufügen möchten, und klicken Sie dann auf Entwurfsansicht.

  2. Klicken Sie auf der Registerkarte Entwurf auf den Pfeil nach unten, damit der Katalog Steuerelemente angezeigt wird, und vergewissern Sie sich, dass Steuerelement-Assistenten verwenden ausgewählt ist.

  3. Klicken Sie auf der Registerkarte Entwurf im Katalog Steuerelemente auf Schaltfläche.

  4. Klicken Sie im Entwurfsbereich des Formulars auf die Stelle, an der die Befehlsschaltfläche platziert werden soll.

    Der Befehlsschaltflächen-Assistent wird gestartet.

  5. Klicken Sie auf der ersten Seite des Assistenten in der Liste Kategorien auf jede Kategorie, damit Sie sehen können, für welche auszuführenden Aktionen der Assistent die Schaltfläche programmieren kann. Wählen Sie in der Liste Aktionen die gewünschte Aktion aus, und klicken Sie dann auf Weiter.

  6. Klicken Sie abhängig davon, ob auf der Befehlsschaltfläche ein Text oder ein Bild angezeigt werden soll, auf die Option Text oder Bild.

    • Wenn Text angezeigt werden soll, können Sie diesen im Feld neben der Option Text bearbeiten.

    • Wenn ein Bild angezeigt werden soll, schlägt der Assistent ein Bild aus der Liste vor. Wenn Sie ein anderes Bild auswählen möchten, aktivieren Sie das Kontrollkästchen Alle Bilder anzeigen, damit eine Liste aller Befehlsschaltflächenbilder angezeigt wird, die Access bereitstellt, oder klicken Sie auf Durchsuchen, um ein Bild auszuwählen, das an anderer Stelle gespeichert ist.

      Klicken Sie auf Weiter.

  7. Geben Sie einen aussagekräftigen Namen für die Befehlsschaltfläche ein. Dieser Schritt ist optional, und der Name wird nicht auf der Befehlsschaltfläche angezeigt. Es empfiehlt sich aber, einen aussagekräftigen Namen einzugeben, weil sich dann, wenn Sie später auf die Befehlschaltfläche verweisen müssen (beispielsweise wenn Sie auf dem Formular die Aktivierreihenfolge der Steuerelemente festlegen), viel einfacher zwischen den Befehlsschaltflächen unterscheiden lässt. Angenommen, über die Befehlsschaltfläche wird das Formular geschlossen, dann könnten Sie die Schaltfläche mit befSchliessen oder BefehlSchliessen benennen.

  8. Klicken Sie auf Fertig stellen.

    Access platziert die Befehlsschaltfläche auf dem Formular.

  9. Wenn Sie sehen möchten, was der Assistent "programmiert" hat, führen Sie folgende optionale Schritte aus:

    1. Wenn das Eigenschaftenblatt noch nicht angezeigt wird, drücken Sie F4, um es anzuzeigen.

    2. Klicken Sie auf dem Eigenschaftenblatt auf Ereignis.

    3. Klicken Sie im Eigenschaftenfeld Beim Klicken auf die Generieren-Schaltfläche  Schaltflächensymbol .

      Access startet den Makro-Generator und zeigt das Makro an, das der Assistent erstellt hat. Sie können das Makro bearbeiten (weitere Informationen zum Bearbeiten eines Makros finden Sie im Abschnitt Grundlegendes zu Makros). Wenn Sie den Vorgang abgeschlossen haben, klicken Sie auf der Registerkarte Entwurf in der Gruppe Schließenauf Schließen, um den Makro-Generator zu schließen. Wenn Access Sie dazu auffordert, die Änderungen zu speichern und die Eigenschaft zu aktualisieren, klicken Sie auf Ja, wenn die Änderungen gespeichert werden sollen, oder auf Nein, wenn die Änderungen verworfen werden sollen.

  10. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ansichten auf Ansicht, und klicken Sie dann auf Formularansicht. Klicken Sie auf die neue Befehlsschaltfläche, um festzustellen, ob sie erwartungsgemäß funktioniert.

Seitenanfang

Grundlegendes zu Makros

Ein Makro ist ein Tool, mit dem Sie Aufgaben automatisieren und die Funktionalität von Formularen, Berichten und Steuerelementen erweitern können. Wenn Sie beispielsweise einem Formular eine Befehlsschaltfläche hinzufügen, ordnen Sie die BeimKlicken-Ereigniseigenschaft der Schaltfläche einem Makro zu, das die Befehle enthält, die immer dann ausgeführt werden sollen, wenn auf die Schaltfläche geklickt wird.

Es kann hilfreich sein, sich Access-Makros als eine Art vereinfachte Programmiersprache vorzustellen, in der Sie Code erzeugen, indem Sie eine Liste auszuführender Aktion zusammenstellen. Beim Erstellen eines Makros wählen Sie die einzelnen Aktionen aus einer Dropdownliste aus und geben dann für jede Aktion die erforderlichen Informationen ein. Mit Makros können Sie die Funktionalität in Formularen, Berichten und Steuerelementen erweitern, ohne Code in einem VBA-Modul zu schreiben. Makros stellen eine Untermenge der Befehle bereit, die in VBA verfügbar sind. Die meisten Benutzer finden es einfacher, ein Makro zu erstellen, statt VBA-Code zu schreiben.

Sie erstellen ein Makro, indem Sie den Makro-Generator verwenden, der in der folgenden Abbildung gezeigt wird.

Makro-Generator von Access 2010

So zeigen Sie den Makro-Generator an:

  • Klicken Sie auf der Registerkarte Erstellen in der Gruppe Makros und Code auf Makro.

Seitenanfang

Grundlegendes zu VBA-Code

Ähnlich wie Makros können Sie VBA dazu verwenden, Ihren Access-Anwendungen automatisierte Vorgänge sowie weitere Funktionalität hinzuzufügen. Sie können VBA mit Steuerelementen von Drittanbietern erweitern, und Sie können eigene Funktionen und Prozeduren für Ihre speziellen Anforderungen schreiben.

Hinweis : Sie können einer Webdatenbank VBA-Code (Visual Basic für Applikationen) hinzufügen. Dieser Code kann aber nicht ausgeführt werden, während die Datenbank in einem Webbrowser ausgeführt wird. Wenn eine Webdatenbank VBA-Code enthält, können Sie den Code erst ausführen, nachdem Sie die Webdatenbank mit Access geöffnet haben. Wenn Sie in einer Webdatenbank programmgesteuerte Aufgaben ausführen möchten, müssen Sie dafür Access-Makros verwenden.

Weitere Informationen zu Webdatenbanken finden Sie im Artikel Erstellen einer im Web freizugebenden Datenbank.

Eine schnelle Möglichkeit für den Einstig in die VBA-Programmierung besteht darin, zunächst ein Access-Makro zu erstellen und das Makro dann in VBA-Code zu konvertieren. Anleitungen, wie Sie dazu vorgehen müssen, finden Sie im Abschnitt Konvertieren von Makros in VBA-Code. Bei einer Konvertierung wird ein neues VBA-Modul erstellt, in dem Vorgänge ausgeführt werden, die den Aktionen des ursprünglichen Makros entsprechen. Außerdem wird dabei der Visual Basic-Editor geöffnet, sodass Sie die zugehörige Prozedur ändern können. Wenn Sie im Visual Basic-Editor arbeiten, können Sie auf Schlüsselwörter klicken und F1 drücken, um die Access-Entwicklerhilfe aufzurufen und weitere Informationen zu jedem Schlüsselwort zu erhalten. Schließlich können Sie die Access-Entwicklerhilfe lesen und neue Befehle kennen lernen, mit denen Sie die anstehenden Programmieraufgaben ausführen können.

Seitenanfang

Konvertieren von Makros in VBA-Code

Access 2010 bietet die Möglichkeit, Makros automatisch in VBA-Module oder -Klassenmodule zu konvertieren. Sie können Makros konvertieren, die einem Formular oder Bericht zugeordnet sind, wobei es keine Rolle spielt, ob die Makros als eigenständige Objekte oder als eingebettete Makros vorhanden sind. Darüber hinaus können Sie globale Makros konvertieren, die keinem speziellen Formular oder Bericht zugeordnet sind.

Hinweis : Sie können einer Webdatenbank VBA-Code (Visual Basic für Applikationen) hinzufügen. Dieser Code kann aber nicht ausgeführt werden, während die Datenbank in einem Webbrowser ausgeführt wird. Wenn eine Webdatenbank VBA-Code enthält, können Sie den Code erst ausführen, nachdem Sie die Webdatenbank mit Access geöffnet haben. Wenn Sie in einer Webdatenbank programmgesteuerte Aufgaben ausführen möchten, müssen Sie dafür Access-Makros verwenden.

Weitere Informationen zu Webdatenbanken finden Sie im Artikel Erstellen einer im Web freizugebenden Datenbank.

Konvertieren von Makros, die einem Formular oder Bericht zugeordnet sind

In diesem Prozess werden alle Makros, auf die in einem Formular oder Bericht (oder in einem Steuerelement des Formulars oder Berichts) verwiesen wird (oder die in das Formular oder den Bericht eingebettet sind), in VBA-Code konvertiert, und dieser Code wird dann dem Klassenmodul des Formulars oder Berichts hinzugefügt. Das Klassenmodul wird Bestandteil des Formulars oder Berichts und wird mit ihm verschoben, wenn der Bericht oder das Formular verschoben oder kopiert wird.

  1. Klicken Sie im Navigationsbereich mit der rechten Maustaste auf das Formular oder den Bericht, und klicken Sie dann auf Entwurfsansicht.

  2. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Tools auf Makros des Formulars zu Visual Basic konvertieren oder auf Makros des Berichts zu Visual Basic konvertieren.

  3. Wählen Sie im Dialogfeld Konvertiere Formularmakros oder Konvertiere Berichtsmakros aus, ob Access den generierten Funktionen Fehlerbehandlungscode hinzufügen soll. Geben Sie außerdem an, ob Kommentare, die in den Makros vorhanden sind, als Kommentare in die Funktionen aufgenommen werden sollen. Klicken Sie auf Konvertieren.

    Wenn es für das Formular oder den Bericht kein Klassenmodul gibt, erstellt Access ein Klassenmodul und fügt dem Modul für jedes Makro, das dem Formular oder Bericht zugeordnet war, eine Prozedur hinzu. Außerdem ändert Access die Ereigniseigenschaften des Formulars oder Berichts so, dass für sie nicht mehr die Makros, sondern die neuen VBA-Prozeduren ausgeführt werden.

  4. So zeigen Sie den VBA-Code an und bearbeiten ihn:

    1. Das Formular oder der Bericht ist nach wie vor in der Entwurfsansicht geöffnet. Wenn das Eigenschaftenblatt nicht angezeigt wird, drücken Sie F4, damit es angezeigt wird.

    2. Klicken Sie auf dem Eigenschaftenblatt auf der Registerkarte Ereignis auf eines der Eigenschaftenfelder, in denen [Ereignisprozedur] angezeigt wird. Klicken Sie anschließend auf die Generieren-Schaltfläche Schaltflächensymbol . Wenn Sie die Ereigniseigenschaften eines bestimmten Steuerelements anzeigen möchten, klicken Sie auf das Steuerelement, um es auszuwählen. Wenn Sie die Ereigniseigenschaften des gesamten Formulars oder Berichts anzeigen möchten, wählen Sie in der Dropdownliste im oberen Bereich des Eigenschaftenblatts den Eintrag Formular oder Bericht aus.

      Access öffnet den Visual Basic-Editor und zeigt die Ereignisprozedur in ihrem Klassenmodul an. Durch Ausführen eines Bildlaufs nach oben oder unten können Sie alle Prozeduren anzeigen, die sich in diesem Klassenmodul befinden.

Konvertieren von globalen Makros

  1. Klicken Sie im Navigationsbereich mit der rechten Maustaste auf das zu konvertierende Makro, und klicken Sie dann auf Entwurfsansicht.

  2. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Tools auf Makros zu Visual Basic konvertieren.

  3. Wählen Sie im Dialogfeld Konvertiere Makros die gewünschten Optionen aus, und klicken Sie dann auf Konvertieren.

    Access konvertiert das Makro und öffnen den Visual Basic-Editor.

  4. So zeigen Sie den VBA-Code an und bearbeiten ihn:

    1. Wird im Visual Basic-Editor der Bereich für den Projektexplorer nicht angezeigt, klicken Sie im Menü Ansicht auf Projektexplorer.

    2. Erweitern Sie die Struktur unter dem Namen der Datenbank, in der Sie arbeiten.

    3. Klicken Sie unter Module doppelt auf das Modul Konvertiertes Makro-Makroname.

      Der Visual Basic-Editor öffnet das Modul.

Zuordnen einer VBA-Funktion zu einer Ereignisprozedur

Wenn Sie ein globales Makro in VBA-Code konvertieren, wird der Code in einem Standardmodul platziert. Im Gegensatz zu einem Klassenmodul ist ein Standardmodul nicht Bestandteil eines Formulars oder Berichts. Meist möchten Sie die Funktion einer Ereigniseigenschaft eines Formulars, Berichts oder Steuerelements zuordnen, damit der Code ganz gezielt ausgeführt wird. Sie können dies auf zwei Arten erreichen: Sie können den VBA-Code in ein Klassenmodul kopieren und dann einer Ereignisprozedur zuordnen, oder Sie können die folgenden Schritte ausführen, damit ein spezieller Aufruf aus der Ereigniseigenschaft in das Standardmodul erfolgt.

  1. Ermitteln Sie im Visual Basic-Editor den Namen der Funktion. Wenn Sie beispielsweise das Makro MeinMakro konvertiert haben, hat die Funktion den Namen MeinMakro().

  2. Schließen Sie den Visual Basic-Editor.

  3. Klicken Sie im Navigationsbereich mit der rechten Maustaste auf das Formular oder den Bericht, dem Sie die Funktion zuordnen möchten, und klicken Sie dann auf Entwurfsansicht.

  4. Klicken Sie auf das Steuerelement oder den Abschnitt, dem Sie die Funktion zuordnen möchten.

  5. Wenn das Eigenschaftenblatt noch nicht angezeigt wird, drücken Sie F4, um es anzuzeigen.

  6. Klicken Sie im Eigenschaftenblatt auf der Registerkarte Ereignis auf das Feld der Ereigniseigenschaft, der Sie die Funktion zuordnen möchten.

  7. Geben Sie in das Eigenschaftenfeld ein Gleichheitszeichen (=) und dann den Namen der Funktion ein. Beispiel: =MeinMakro(). Sie müssen auch die Klammern eingeben.

  8. Speichern Sie das Formular oder den Bericht, indem Sie auf der Symbolleiste für den Schnellzugriff auf Speichern klicken.

  9. Klicken Sie im Navigationsbereich doppelt auf das Formular oder den Bericht, und testen Sie, ob der Code erwartungsgemäß ausgeführt wird.

Sie haben jetzt die Grundschritte kennen gelernt, mit denen einer Datenbank VBA-Code hinzugefügt wird. In diesem Artikel werden nur die ersten Schritte beschrieben. Es gibt viele hervorragende Nachschlagewerke und Onlineressourcen, die Sie dazu nutzen können, Ihre Programmierkenntnisse zu erweitern.

Seitenanfang

Informationen zum Verwenden des Hilfesystems

Access 2010 bietet mehrere Möglichkeiten, Hilfe zur Programmierung abzurufen. Sie können jederzeit Hilfe abrufen, indem Sie in der oberen rechten Ecke des Access-Fensters auf die Schaltfläche Hilfe klicken.

Schaltfläche 'Hilfe'

Access zeigt das Hilfefenster an.

Wenn Sie ein Makro oder eine VBA-Prozedur erstellen, können Sie auf eine Makroaktion, ein Schlüsselwort oder eine integrierte Funktion klicken und dann F1 drücken. In fast allen Fällen zeigt Access das Hilfethema für das Element an, auf das Sie geklickt haben.

Sobald das Hilfefenster geöffnet wurde, können Sie sich über die Navigationsschaltflächen auf der Symbolleiste zwischen den Seiten bewegen.

Symbolleisten des Hilfe-Viewers

Klicken Sie beispielsweise auf POS1, damit das Inhaltsverzeichnis angezeigt wird, und klicken Sie dann auf die Schaltfläche Zurück, Weiter, Anhalten oder Aktualisieren, um zwischen den Themen zu wechseln oder ein Thema erneut zu laden. Sie können das Hilfesystem auch nach bestimmten Informationen durchsuchen, indem Sie Suchbegriffe in das Feld unter der Symbolleiste eingeben und dann die EINGABETASTE drücken oder auf Suchen klicken.

Wenn Sie nach Informationen zur Programmierung suchen, bietet es sich üblicherweise an, zusätzlich zur Access-Hilfe die Access-Entwicklerhilfe auszuwerten.

Wechseln zur Access-Entwicklerhilfe

  1. Klicken Sie auf den Dropdownpfeil neben der Schaltfläche Suchen.

    Schaltfläche 'Suchen' in der Hilfe

    Im Hilfefenster wird eine Liste der verfügbaren Hilfethemen angezeigt, die Sie durchsuchen können.

    Liste 'Suchen' in der Hilfe

  2. Wenn Sie eine Verbindung mit dem Internet haben, klicken Sie unter Inhalte aus Office.com auf Entwicklerreferenz. Diese Vorgehensweise empfiehlt sich, weil die Inhalte von Office.com immer am aktuellsten sind. Wenn Sie keine Verbindung mit dem Internet haben oder wenn der Systemadministrator die Möglichkeit, über das Hilfefenster online zu arbeiten, deaktiviert hat, können Sie nach wie vor die Access-Entwicklerhilfe anzeigen, indem Sie unter Inhalte von diesem Computer auf Entwicklerreferenz klicken.

  3. Sie können in der Hilfe navigieren, indem Sie die Links im Inhaltsverzeichnis verwenden oder indem Sie Suchbegriffe in das Feld eingeben, das sich direkt unter der Symbolleiste befindet, und dann die EINGABETASTE drücken.

  4. Wenn Sie wieder in die Access-Hilfe zurückkehren möchten, klicken Sie auf den Dropdownpfeil neben der Schaltfläche Suchen, und klicken Sie dann unter Inhalte aus Office.com oder Inhalte von diesem Computer auf Access-Hilfe.

Wenn Sie weitere Informationen zum Verwenden der Offline-oder Onlinehilfe wünschen, klicken Sie im Hilfefenster in der linken unteren Ecke auf das Menü Verbindungsstatus, und klicken Sie dann auf Diese Optionen beschreiben.

Meldung zum Verbindungsstatus im Hilfe-Viewer

Seitenanfang

Ihre Fähigkeiten erweitern
Schulung erkunden
Neue Funktionen als Erster erhalten
An Office Insider teilnehmen

War diese Information hilfreich?

Vielen Dank für Ihr Feedback!

Vielen Dank für Ihr Feedback. Es klingt, als ob es hilfreich sein könnte, Sie mit einem unserer Office-Supportmitarbeiter zu verbinden.

×