Applies ToAccess für Microsoft 365 Access 2021 Access 2019

Die folgenden Abschnitte enthalten nützliche Informationen zu VBA. Die Objektnamen werden bereitgestellt, damit Sie sie problemlos in der Northwind 2.0 Starter Edition-Datenbank untersuchen können.

VBA (Visual Basic for Applications) ist die Programmiersprache, die in allen Microsoft 365-Produkten und nicht nur in Access verwendet wird. Es ist hauptsächlich hier dokumentiert: Access Developer Documentation.Informationen zu den ersten Schritten finden Sie unter Einführung in die Access-Programmierung.

Achten Sie bei der Suche nach Informationen darauf, dass Sie nach Access-spezifischen Beispielen suchen und Microsoft Access in den Suchbegriff einschließen. Häufig funktionieren Lösungen für die anderen Microsoft 365-Produkte, erfordern jedoch möglicherweise Änderungen.

Microsoft Access ist ein ausgereiftes Produkt. Das bedeutet, dass es viele Beispiele gibt, was für Sie großartig ist. Dies bedeutet auch, dass ältere Bücher zur Access-Programmierung noch für Sie geeignet sind, sich anzusehen. Viele der älteren Bücher sind immer noch auf gebrauchten Buchseiten zu einem Bruchteil ihrer ursprünglichen Kosten erhältlich. 

Microsoft Access-Dateien sind Microsoft 365-Dateien. Microsoft 365-Dateien müssen sich an einem vertrauenswürdigen Speicherort befinden oder deren Inhalt aktiviert sein. Diese Elemente gelten als sicher, weil Sie sie erstellt haben oder aus einer vertrauenswürdigen Quelle stammen. Diese Überprüfung erfolgt jedes Mal, wenn Sie eine Microsoft 365-Datei öffnen. Wir werden dies ab hier als vertrauenswürdig/aktiviert bezeichnen. Wenn eine neue Version der Anwendung freigegeben und von einem nicht vertrauenswürdigen Speicherort geöffnet wird, wird der Vorgang zum Aktivieren des Inhalts wiederholt. Weitere Informationen finden Sie unter Vertrauenswürdige Speicherorte für Microsoft 365-Dateien, Entscheiden, ob einer Datenbank vertraut werden soll, und Hinzufügen, Entfernen oder Ändern eines vertrauenswürdigen Speicherorts in Microsoft 365.

Mithilfe von Makros, Funktionen und Unterprozeduren implementieren Sie Geschäftslogik in Ihre Access-Datenbank.

Steuerelemente in einem Formular (z. B. Schaltflächen, Textfelder, Bezeichnungen usw.) können ihre Ereignisse (z. B. das Klicken auf das Steuerelement) verwenden, um andere Prozesse wie das Hinzufügen, Löschen von Datensätzen oder Öffnen von Formularen auszulösen. Diese Prozesse können mithilfe von Makros oder VBA implementiert werden. Northwind verwendet hauptsächlich Makros und vba. Weitere Informationen finden Sie unter Ausführencode-Makroaktion.

Einige Steuerelementtypen verfügen über integrierte Assistenten, die automatisch ein Makro erstellen. Wenn Sie z. B. einem Formular eine Befehlsschaltfläche hinzufügen, wird ein Assistent geöffnet, der verschiedene Funktionen für die Schaltfläche bietet. Durch Das Hinzufügen eines Kombinationsfelds wird ein Assistent geöffnet, der so konfiguriert werden kann, dass ein bestimmter Datensatz im Formular gesucht wird.

Der Navigationsbereich ist die wichtigste Möglichkeit, alle Datenbankobjekte anzuzeigen und darauf zuzugreifen. Er wird standardmäßig auf der linken Seite des Zugriffsfensters angezeigt. Der Navigationsbereich northwind 2.0 Starter Edition wurde angepasst. Wir haben eine benutzerdefinierte Kategorie namens Northwind Starter 2.0 erstellt. Dies ermöglicht es uns, die Objekte nach Funktionsbereich zu organisieren. Weitere Informationen finden Sie unter Anpassen des Navigationsbereichs.

Es ist wichtig, dass Sie den Bereich und die Sichtbarkeit in Access und Microsoft 365 kennenlernen. Bereich bezieht sich auf die Verfügbarkeit einer Variablen, Konstanten oder Prozedur für die Verwendung durch eine andere Prozedur. Es gibt drei Bereichsebenen: Prozedurebene, private Modulebene und öffentliche Modulebene. Sie bestimmen den Bereich einer Variablen, wenn Sie sie deklarieren. Es ist eine gute Idee, alle Variablen explizit zu deklarieren, um Benennungskonflikte zwischen Variablen mit unterschiedlichen Bereichen zu vermeiden. Alle Module verfügen über zwei Direktivenanweisungen: Option Compare Database und Option Explicit.  Weitere Informationen finden Sie unter Understanding scope and visibility, Public statement, Private statement, Static statement, and Understanding the lifetime of variables.For more information, see Understanding scope and visibility, Public statement, Private statement, static statement, and Understanding the lifetime of variables. 

Manchmal benötigen Sie, dass eine Variable nach dem Objekt vorhanden ist, das sie erstellt hat, außerhalb des Gültigkeitsbereichs liegt. Hierfür gibt es hauptsächlich drei Möglichkeiten: Öffentliche Variablen, TempVars und speichern die Werte in einer lokalen Tabelle. Jede dieser Optionen hat Vor- und Nachteile. Viele Entwickler verwenden eine Mischung aus diesen.

Öffentliche Variablen und TempVars sind für die aktuelle Sitzung vorhanden und gehen außerhalb des Bereichs, wenn die Anwendung geschlossen wird. Was geschieht, wenn Sie benutzerspezifische Variablen in ihren Sitzungen beibehalten möchten? Sie können diese Wertetypen in einer lokalen Tabelle speichern. In Northwind 2.0 Starter Edition befinden sich diese Werte in einer Tabelle mit dem Namen SystemSettings. Ein Wert in der Tabelle ist z. B. "ShowWelcome". Dieser Wert gibt an, ob der Willkommensbildschirm jedes Mal angezeigt werden soll, wenn Sie sich anmelden oder nicht.

Wenn Sie in Access integrierte Steuerelement-Assistenten verwendet haben, wissen Sie, dass beim Erstellen eines Makros häufig überhaupt keine Fehlerbehandlung erfolgt. Wenn VBA erstellt wird, ist es möglicherweise auf eine MsgBox-Funktion, Err.Description-Formatvorlage beschränkt.

In Northwind 2.0 Starter Edition haben wir einen sogenannten globalen Fehlerhandler implementiert. Fehler, die in einer Prozedur auftreten, rufen eine Funktion auf globaler Ebene auf, um den Fehler anzuzeigen. Der große Vorteil ist, dass der Code konsistent ist. Wenn die Nachricht geändert werden muss, z. B. die Fehlernummer anzuzeigen oder den Fehler in einer Datei zu protokollieren, kann dies nur an einem Ort erfolgen.

clsErrorHandler ist das Klassenmodul, das den Fehlerbehandlungscode implementiert. Ein Klassenmodul hält alle Haupt- und Hilfsfunktionen in einer Einheit zusammen, wodurch der Code besser gekapselt wird. Das AutoExec-Makro ruft schließlich die Startfunktion in modStartup auf, erstellt eine Instanz von clsErrorHandler und speichert sie als globale Variable, damit sie in der gesamten Anwendung verwendet werden kann.

Tatsächlich ist der Fehlerbehandlungscode in den Prozeduren so konsistent, dass wir ihn in weniger als fünf Minuten mithilfe von ausgefallenem VBA-Code erstellen konnten, der jede Prozedur mit dem richtigen Fehlerhandler ausgestattet hat. Dieser Code ist nicht in der Vorlage enthalten.

Weitere Informationen

Northwind 2.0 Starter Edition

Benötigen Sie weitere Hilfe?

Möchten Sie weitere Optionen?

Erkunden Sie die Abonnementvorteile, durchsuchen Sie Trainingskurse, erfahren Sie, wie Sie Ihr Gerät schützen und vieles mehr.

In den Communities können Sie Fragen stellen und beantworten, Feedback geben und von Experten mit umfassendem Wissen hören.