Wie man lauf VBA code Im Access 2007/2010/2013/2016/2019

Zweifellos ist die Erstellung einer Datenbank in Access mit mehreren Objekten wie Berichten, Formularen und Tabellen recht einfach. Aber wenn es darum geht, einige Programme für die gleichzeitige Ausführung von Datenbankobjekten hinzuzufügen oder bestimmte Prozesse zu automatisieren. Dann kann dies eine entmutigende Aufgabe sein. ist es nicht

Hauptsächlich für diejenigen, die nicht viel Programmierkenntnisse haben. Wenn Sie auch unter ihnen sind, wird Ihnen dieser Beitrag mit Sicherheit viele weitere Informationen zur Ausführung von VBA-Code in Access liefern

MS Access VBA-Code anhand eines Beispiels verstehen:

MS Access VBA-Code anhand eines Beispiels verstehen

In MS Access können wir durch Programmierung unserer Datenbank Funktionen hinzufügen. Im Grunde geschieht dies auf zwei Arten:

  • mithilfe von Access-Makros
  • oder VBA-Code (Visual Basic für Applikationen)

Angenommen, Sie haben in Ihrer Access-Datenbank einen Bericht oder ein Formular erstellt. Jetzt möchten Sie diesem Formular eine Befehlsschaltfläche hinzufügen. Wenn Sie darauf klicken, wird der Bericht automatisch geöffnet.

In diesem Fall wird mit der Programmierung ein Makro oder eine VBA-Prozedur zum Festlegen der OnClick-Ereigniseigenschaft für die Befehlsschaltfläche erstellt. Wenn Sie auf die Befehlsschaltfläche klicken, werden Makro und Prozedur automatisch im Hintergrund ausgeführt. Wenn Sie also auf die Befehlsschaltfläche des Formulars klicken, wird der Bericht geöffnet.

Alles in allem können Sie mit VBA-Code in Access der Access-Datenbankanwendung Automatisierung und verschiedene Funktionen hinzufügen.

Was ist der VBA-Editor?

Was ist der VBA-Editor

  • Für die Programmierung in Access verwenden wir den VBA-Editor. Um den VBA-Editor zu starten, müssen Sie zunächst die Option create aufrufen.
  • Tippen Sie anschließend auf die Modulschaltfläche in Ihrem Datenbankfenster.
  • Dadurch wird der VBA-Editor geöffnet.

Wie Sie in der Abbildung sehen können, enthält dieser VBA-Editor mehrere Teile. Lassen Sie uns nun jeden Abschnitt im Detail besprechen:

  • Die obere linke Ecke heißt Projektfenster. Diese enthält eine Auflistung aller in der Datenbank definierten Elemente und Module.
  • Unterhalb des Projektfensters befindet sich ein Eigenschaftenfenster. Hier können Sie verschiedene Attribute für die Objekte festlegen, die Sie im Projektfenster verwendet haben.
  • Am unteren Bildschirmrand befindet sich ein sofortiges Fenster. Hier können Sie Ihre Verfahrensteile während der Entwicklung testen. Anders als es kann auch verwendet werden, um das unmittelbare Ergebnis verschiedener Befehle zu erhalten. Das sofortige Fenster ist sehr nützlich beim Testen und Debuggen.

Vorteile der Verwendung von VBA-Code in Access:

Vorteile der Verwendung von VBA-Code in Access

Hier sind einige grundlegende Gründe, warum Sie MS Access VBA Code verwenden müssen. diese sind als folgt.

  1. Kleinere wiederverwendbare Verfahren verwalten (global)
  2. Erstellen Sie Ihre eigenen definierten Funktionen
  3. im Speicher halten Variablen (global)
  4. Fügen Sie einem Ereignis, d. H. Einer Schaltfläche in einem Formular, Code hinzu
  5. Verwalten Sie leistungsstärkere Verfahren, die einem Access-Makro fehlen
  6. Beenden Sie problemlos andere Anwendungen und Plattformen
  7. Behandeln Sie Access-Laufzeitfehler intelligent

Zum Erlernen von Access VBA Code müssen Sie kein Programmierer sein. Der wichtige Faktor für eine erfolgreiche Programmierung mit Access VBA ist, wie gut Sie die Struktur von MS Access kennen, die häufig als Tabellen, Abfragen, Formulare, Berichte und Makros bezeichnet wird. Es ist eine sehr leistungsstarke Access-Funktion, mit der ermittelt werden kann, wo VBA überwunden und die Funktionalität verbessert werden muss.

Wie So führen Sie VBA-Code in MS Access aus

Wie So führen Sie VBA-Code in MS Access aus

VBA-Code zum Ausführen einer Abfrage Im MS Access

Suchen Sie nach dem VBA-Code zum Ausführen einer Abfrage in MS Access? Wenn dies der Fall ist, überprüfen Sie die vollständigen Schritte, um diese Aufgabe auszuführen.

Sie können die VBA-Syntax verwenden, um Abfragen in MS Access auszuführen.

DoCmd.OpenQuery “Abfragename”

Denken Sie daran, dass der “Abfragename” nicht in den Klammern “[]” stehen darf.

Schritte zum Erstellen eines VBA zum Ausführen einer Abfrage in MS Access

Angenommen, Sie haben eine Access-Datenbank, die eine Abfrage mit dem Namen “max_sales” enthält.

Im Folgenden finden Sie den vollständigen Schritt, den Sie ausführen müssen, um eine VBA zum Ausführen der Abfrage “max_sales” zu erstellen:

Schritt 1: Fügen Sie ein Access formular hinzu

Öffnen Sie zunächst Ihre MS Access-Anwendung, und fügen Sie anschließend ein Access-Formular hinzu.

Um ein Formular hinzuzufügen, müssen Sie auf die Registerkarte Erstellen gehen und anschließend auf das Formularsymbol tippen, das über der MS Access-Multifunktionsleiste angezeigt wird:

VBA-Code zum Ausführen einer Abfrage Im MS Access 1

Schritt 2: Platzieren Sie einen Knopf

Im nächsten Schritt müssen Sie eine Schaltfläche in das Formular einfügen. Klicken Sie für diese Aufgabe auf das Schaltflächensymbol auf der Multifunktionsleiste. Danach positionieren Sie diese Schaltfläche auf Ihrem Formular.

VBA-Code zum Ausführen einer Abfrage Im MS Access 2

Sie werden feststellen, dass nach dem Platzieren der Schaltfläche im Zugriffsformular der Befehlsschaltflächen-Assistent auf Ihrem Bildschirm angezeigt wird. Wenn Sie diesen Befehlsschaltflächen-Assistenten nicht benötigen, können Sie die Abbrechen-Taste drücken.

Schritt 3: Öffnen Sie den VBA-Bildschirm

Um den VBA-Code für die Schaltfläche aufzuschreiben, müssen Sie den VBA-Editor-Bildschirm öffnen. Tippen Sie mit der rechten Maustaste auf die Schaltfläche und wählen Sie dann die Option “Ereignis erstellen”.

VBA-Code zum Ausführen einer Abfrage Im MS Access 3

Wählen Sie anschließend die Option Code Builder und tippen Sie auf die Option OK:

VBA-Code zum Ausführen einer Abfrage Im MS Access 4

Schritt 4: Schreiben Sie den VBA, um die Abfrage auszuführen

Es ist Zeit, den VBA-Code zu schreiben, um die Abfrage auszuführen.

Überprüfen Sie den vollständigen VBA-Code, wie im folgenden Beispiel gezeigt (wobei “max_sales” der Name der Abfrage ist):

Private Sub Command0_Click() 

DoCmd.OpenQuery “max_sales” 

End Sub

So wird VBA in Access angezeigt:

VBA-Code zum Ausführen einer Abfrage Im MS Access 5

Schritt 5: Zeigen Sie die Ergebnisse an

Nachdem Sie diesen VBA-Code abgeschrieben haben, sparen Sie Ihre Arbeit. Kehren Sie nun zu Ihrem Access-Formular zurück und wechseln Sie in die Formularansicht.

Um einfach zur Formularansicht zu wechseln, klicken Sie auf das Ansichtssymbol auf der Registerkarte “Entwurf”. Wählen Sie nun aus der Dropdown-Liste die Formularansicht aus.

VBA-Code zum Ausführen einer Abfrage Im MS Access 6

Zum Schluss tippen Sie auf die Schaltfläche, um die Abfrage “max_sales” auszuführen. Jetzt können Sie eine Abfrage mit VBA-Code ausführen, indem Sie einfach auf die Schaltfläche tippen.

VBA-Code zum Ausführen einer Abfrage Im MS Access 7

VBA-Code zum Ausführen eines Berichts in Access

VBA-Code zum Ausführen eines Berichts in Access

Die DoCmd.OpenReport-Methode wird zum Öffnen des Berichts verwendet. Mit dieser DoCmd.OpenReport-Methode können Sie einen Bericht in der Entwurfsansicht, Bericht drucken, Bericht anzeigen, Seitenansicht und Layoutansicht öffnen.

Hier ist die Syntax, die Sie verwenden müssen:

DoCmd.OpenReport (Berichtsname, Ansicht, Filter, WhereCondition, DataMode, WindowMode, OpenArgs)

Beschreibung der obigen Syntax:

– ReportName:

Es gibt den Berichtsnamen in der aktuellen Datenbank an. Es muss ein Argument angegeben werden und es sollte in doppelte Anführungszeichen gesetzt werden.

– Aussicht:

Einige gängige Arten von Berichtsansichten wie acViewNormal, acViewPreview, acViewLayout, acViewDesign usw.

Sie können einen dieser Typen auswählen, um Ihren Bericht anzugeben, wenn er geöffnet wird.

haben einen Blick:

5 wichtige Schritte zur Gewährleistung der Sicherheit der Access-Datenbank

– Filter:

Dies ist ein Abfragename, der in der aktuellen Datenbank vorhanden ist. Setzen Sie es also in doppelte Anführungszeichen.

– WoZustand:

An dieser Stelle wird die SQL-Klausel ohne das Wort WHERE verwendet. Sie müssen es also in Anführungszeichen setzen.

– DataMode:

In diesem Argument müssen Sie den Dateneingabemodus für Ihren Bericht angeben. Nun, der Modus kann entweder der Bearbeitungsmodus oder nur der Lesemodus sein.

– Fenstermodus:

Wenn ein Bericht geöffnet wird, geben Sie den Fenstermodus an.

Außerdem können Sie den Bericht in folgendem Modus öffnen: acDialog, acHidden, acIcon oder acWindowNormal.

     + acDialog: Der offene Bericht ist repariert und kann nicht verschoben werden.

     + acHidden: In diesem Modus ist der geöffnete Bericht ausgeblendet.

     + acIcon: Der geöffnete Bericht wird als Symbol angezeigt.

     + acWindowNormal: In diesem Modus wird der geöffnete Bericht als Ansichtsbericht angezeigt.

– OpenArgs:

Mit diesem Argument müssen Sie den Datensatz angeben, wenn der Bericht geöffnet wird.

Und Sie müssen es in Anführungszeichen setzen.

Anmerkung:

Alle oben in der DoCmd.OpenReport-Syntax genannten Argumente sind ohne das ReportName-Argument optional.

Angenommen, Sie haben ein Formular wie das folgende:

Wenn Sie ein Formular zum ersten Mal öffnen, lautet der aktuelle Datensatz Cate001. Tippen Sie zum Drucken dieser Kategorie auf die Schaltfläche Bericht drucken. Daraufhin wird der Bericht Cate001 zusammen mit den darin enthaltenen Produkten angezeigt.

Um den Cate002-Datensatz auszudrucken, müssen Sie zunächst zu diesem Datensatz wechseln. Tippen Sie anschließend auf die Schaltfläche Bericht drucken.

Wenn Sie jedoch Cate003, Cate004, Cate005 usw. drucken müssen. Dann müssen Sie einen Hauptdetailbericht erstellen, wie in Abbildung gezeigt:

Danach müssen Sie den VBA-Code in der CmdPrint_Click-Ereignisprozedur wie folgt anwenden:

Private Sub CmdPrint_Click()
DoCmd.OpenReport “RptProductByCategory” _
, acViewReport, , “CategoryID='” & txtCategoryID & “‘”
End Sub

zu nennen Berichten von VBA, Versuchen Sie den folgenden VBA-Code:

Sub runReport()

Dim con As ADODB.Connection

Set con = New ADODB.Connection

con.Open “Provider=Microsoft.Jet.OLEDB.4.0;” & _

“Data Source=C:\mydb.mdb;”

DoCmd.OpenReport “rptCustomer”, acViewPreview

End Sub

MS Access VBA-Code zum Öffnen einer anderen Datenbank

MS Access VBA-Code zum Öffnen einer anderen Datenbank

Wissen Sie, dass Sie eine andere Datenbank aus der aktuellen Datenbank heraus starten können? Dies kann auf drei verschiedene Arten geschehen. Also einfach mal reinschauen …!

  • FollowHyperlink-Methode
  • Schale
  • Zugriffsautomatisierung

Methode 1: FollowHyperlink-Methode

FollowHyperlink ist eine native Methode der Access-Datenbank und der Benutzer kann jeden Dateityp mit dem zugehörigen Standardprogramm öffnen.

Da es sich um einen nativen Befehl von MS Access handelt, dürfen Sie ihn nicht für andere Programme wie Word, Excel, PowerPoint usw. verwenden.

Public Function OpenDb3(sDb As String)  

 On Error GoTo Error_Handler    

Application.FollowHyperlink sDb Error_Handler_Exit: 

   On Error Resume Next  

 Exit Function Error_Handler:   

MsgBox “The following error has occurred” & vbCrLf & vbCrLf & _         

 “Error Number: ” & Err.Number & vbCrLf & _         

 “Error Source: OpenDb3” & vbCrLf & _        

   “Error Description: ” & Err.Description & _         

  Switch(Erl = 0, “”, Erl <> 0, vbCrLf & “Line No: ” & Erl) _       

    , vbOKOnly + vbCritical, “An Error has Occurred!”  

 Resume Error_Handler_Exit

End Function

Methode 2: Shell

Shell ist ein universeller Befehl, mit dem viele Aufgaben ausgeführt werden können. Neben einer langen Liste von Funktionen wird es auch zum Starten von Programmen und zum Öffnen von Dateien verwendet. Sie müssen die EXE-Datei danach zuweisen, was die Befehlszeilenschalter jeweils an der einzelnen EXE-Datei erkennen.

Da MS Office gut registriert ist, ist es ein Teil der Pfadvariablen. Sie müssen also nicht den Pfad für die Datei “msaccess.exe” angeben, sondern nur die Datei oder den Pfad, die bzw. der geöffnet werden soll.

Wenn Sie mehrere MS Office-Versionen auf Ihrem PC installiert haben und eine bestimmte Version verwenden müssen. In diesem Fall müssen Sie den Pfad / die Datei der ausführbaren Access-Datenbank angeben.

Public Function OpenDb2(sDb As String)

    On Error GoTo Error_Handler

     Shell “cmd /c ” & Chr(34) & sDb & Chr(34), vbHide Error_Handler_Exit:  

 On Error Resume Next  

 Exit Function Error_Handler:  

  MsgBox “The following error has occurred” & vbCrLf & vbCrLf & _       

    “Error Number: ” & Err.Number & vbCrLf & _      

     “Error Source: OpenDb2” & vbCrLf & _        

   “Error Description: ” & Err.Description & _     

      Switch(Erl = 0, “”, Erl <> 0, vbCrLf & “Line No: ” & Erl) _

    , vbOKOnly + vbCritical, “An Error has Occurred!”  

 Resume Error_Handler_Exit

End Function

Methode 3: Access Automatisierung

Access Automation ist die hervorragende Option, um jede gewünschte Aktion auszuführen und natürlich auch die Datenbank zu öffnen.

Public Function OpenDb(sDb As String)  

 On Error GoTo Error_Handler   

‘Frühes Bindung

  ‘Verwenden Sie die folgende Zeile, wenn Sie in Access verwendet werden oder die Access-Referenz verwenden

    ‘  stellt zur Verfügung Intellisense!

 Dim oAccess               As Access.Application   

Späte bindung

  “Verwenden Sie die folgende Zeile, wenn Sie außerhalb von Access ohne Access-Referenz verwendet werden.”

Dim oAccess        As Object  

   Set oAccess = CreateObject(“Access.Application”)    ‘Create a new Access instance  

 With oAccess      

  .OpenCurrentDatabase sDb    ‘Open the specified db     

   .Visible = True             ‘Ensure it is visible to the end-user       

.UserControl = True‘    

    .DoCmd.OpenForm “YourFormName”   ‘Open a form?’     

   .DoCmd.RunMacro “YourMacroName”  ‘Run a Macro?    

End With 

Error_Handler_Exit: 

 On Error Resume Next 

   If Not oAccess Is Nothing Then Set oAccess = Nothing  

 Exit Function 

Error_Handler: 

   MsgBox “The following error has occurred” & vbCrLf & vbCrLf & _     

      “Error Number: ” & Err.Number & vbCrLf & _      

     “Error Source: OpenDb” & vbCrLf & _     

      “Error Description: ” & Err.Description & _       

    Switch(Erl = 0, “”, Erl <> 0, vbCrLf & “Line No: ” & Erl) _       

    , vbOKOnly + vbCritical, “An Error has Occurred!”  

 Resume Error_Handler_Exit

End Function

Automatisieren Sie den Access aus anderen MS Office-Anwendungen mithilfe von VBA

Automatisieren Sie den Access aus anderen MS Office-Anwendungen mithilfe von VBA

VBA Access objekt bibliothek

Um den Zugriff von anderen MS-Office-Anwendungen mit VBA zu automatisieren. Oder wenn Sie Objekte anderer Anwendungen wie Microsoft Excel oder Word in Access verwenden müssen. Fügen Sie Objektbibliotheksverweise hinzu, um solche Aufgaben zu ermöglichen. Grundsätzlich gibt es zwei Möglichkeiten, diese Aufgabe auszuführen:

  1. Frühe Bindung
  2. Späte bindung

Die erste Methode wird verwendet, um unmittelbar vor der Ausführung einen Verweis auf die Microsoft Access-Objektbibliothek hinzuzufügen. Es wird schneller ausgeführt und Sie erhalten einfachen Zugriff auf den VBA-Editor Intellisense.

Abgesehen davon kann es zu Kompatibilitätsproblemen kommen, wenn ein PC-Programm mit einer anderen Version der installierten Bibliothek ausgeführt wird.

Methode 1: Frühes Binden

Bei dieser speziellen Methode müssen Sie einen Verweis auf Microsoft Access Object hinzufügen.

  1. Öffnen Sie das VBA-Editorfenster und tippen Sie auf die Schaltfläche „Extras“ in der Menüleiste.
  2. Wählen Sie nun aus der Dropdown-Liste die Option “Referenzen”.
  3. Anschließend erscheint das Dialogfeld „Referenzen – Projekt 1“.
  4. In diesem Dialogfeld können Sie die Bildlaufleiste ziehen, bis Sie die gewünschte Microsoft Access 14.0-Objektbibliothek abrufen.
  5. Setzen Sie nun ein Häkchen in das Kontrollkästchen vor diesem Objekt.
  6. Tippen Sie zuletzt auf die Option „OK“.
  7. Nach diesem Schritt haben Sie den Verweis auf die Access-Objektbibliothek erfolgreich hinzugefügt.

Nun, Sie können die obigen Schritte verwenden, um Objektbibliotheken gemäß Ihren Anforderungen hinzuzufügen.

Hinweis:

Verwenden Sie den folgenden Code, um ein Access.Application-Objekt zu definieren und zu initiieren:

Dim objAccess As Access.Application
set objAccess = new Access.Application

Methode 2: Späte Bindung

Für diese Methode muss kein Verweis auf die Objektbibliothek hinzugefügt werden. Das Access.Application-Objekt wird als normales Objekt deklariert und wie folgt initiiert:

Dim objAccess As Object
Set objAccess = CreateObject(“Access.Application”)

So verbinden Sie Access und Excel über VBA:

Automatisieren Sie den Access aus anderen MS Office-Anwendungen mithilfe von VBA

In diesem Abschnitt wird erläutert, wie Sie die Access-Datenbank mithilfe des VBA-Codes mit Excel verbinden.

So können Sie eine Verbindung mit der Access-Datenbank herstellen. Die für Access 2003 (*. Mdb) und Access 2007/2010 (* .accdb) verwendete Verbindungszeichenfolge ist unterschiedlich, da beide Datenbankversionen unterschiedliche Treiber aufweisen.

Für Access 2003-Datenbanken lautet der Anbieter: Provider = Microsoft.Jet.OLEDB.4.0.

Für Access 2007/2010 lautet der Anbieter Provider = Microsoft.ACE.OLEDB.12.0

Bevor Sie den folgenden Code ausführen, müssen Sie Verweise für ADO DB Connection hinzufügen.

Führen Sie die folgenden Schritte aus, um eine Referenz hinzuzufügen:

Wie man Referenzen in Excel hinzufügt

  1. Öffnen Sie den VB-Editor-Bildschirm, indem Sie Alt + F11 drücken
  2. Tools -> Referenzen…
  3. Suchen Sie in der dortigen Liste der verfügbaren Referenzen nach “Microsoft ActiveX Data Objects 2.0 Library”. Wählen Sie entweder die Version 2.0 oder eine andere Referenz einer höheren Version.
  4. Tippen Sie auf die Option OK.

Sie können auch mögen

3 Schnell Möglichkeiten zum Erstellen von Makros in MS Access 2010/2013/2016/2019 Datenbank

Verbindung mit der Access 2003-Datenbank

Sub ADO_Conn() 

Dim conn As New Connection

Dim rs As New Recordset    

strcon = “Provider=Microsoft.Jet.OLEDB.4.0;” & _   

“Data Source=E:\Student.accdb;” & _  

“User Id=admin;Password=”    

conn.Open (strcon)    

qry = “SELECT * FROM students”  

rs.Open qry, conn, adOpenKeyset    

rs.Close 

conn.Close 

End Sub

Verbindung mit der Access 2010/2007-Datenbank

Sub ADO_Conn()

Dim conn As New Connection

Dim rs As New Recordset    

strcon = “Provider=Microsoft.ACE.OLEDB.12.0;” & _  

 “Data Source=E:\Student.accdb;” & _ 

“User Id=admin;Password=”     conn.Open (strcon)  

qry = “SELECT * FROM students”   

rs.Open qry, conn, adOpenKeyset    

rs.Close   

conn.Close

End Sub

Einpacken:

Wenn Sie das Konzept von verstehen wie man Lauf VBA-Code in Access unter Verschiedene Umstände machen dann einen guten Anfang, indem sie diese Techniken verwenden. Hab keine Angst vor Experimenten …!

Haben Sie immer noch Probleme? Beheben Sie sie mit Stellar Repair for Access:

Diese Software gewährleistet die nahtlose Reparatur und Wiederherstellung der ACCDB- und MDB-Datenbank und stellt alle Objekte einschließlich Tabellen, Berichte, Abfragen, Datensätze, Formulare und Indizes sowie Module, Makros usw. wieder her. Beheben Sie Microsoft Access-Probleme jetzt in 3 einfachen Schritten:

  1. Herunterladen Sie Stellar Repair for Access mit der Bewertung Toll auf Cnet herunter.
  2. Klicken Sie auf die Option Browse und Search, um eine beschädigte Access-Datenbank zu finden.
  3. Klicken Sie auf die Schaltfläche Repair, um die Datenbankobjekte zu reparieren und in der Vorschau anzuzeigen.

Pearson Willey ist ein Website-Inhaltsschreiber und Langform-Inhaltsplaner. Daneben ist er auch ein begeisterter Leser. So weiß er sehr gut, wie man ansprechende Inhalte für Leser schreibt. Schreiben ist für ihn wie ein wachsender Vorteil. Er liebt es, sein Wissen in MS Access zu erkunden und technische Blogs zu teilen.