SQL VBA-Tutorial

Structured Query Language (SQL) ist die Computersprache zur Verwaltung relationaler Datenbanken. Visual Basic for Applications (VBA) ist die von Microsoft entwickelte Programmiersprache, um mit den Microsoft Office-Anwendungen dynamische Inhalte zu erstellen. Microsoft Access ist das Datenbankprogramm innerhalb der Microsoft Office-Suite, das sowohl SQL als auch VBA verwendet, um Daten zu verwalten und systematische Datenbankfunktionen zu automatisieren. Mit der Programmier-Shell hinter Microsoft Access können Sie sich mit der Hauptdatenbank verbinden, nach Daten suchen, neue Daten hinzufügen und Daten löschen, indem Sie SQL- und VBA-Programmiercode kombinieren.

Schritt 1

Öffnen Sie die Datenbank, mit der Sie in Microsoft Access arbeiten möchten. Öffnen Sie den Visual Basic-Editor, indem Sie auf die Registerkarte "Datenbanktools" und dann auf "Visual Basic" klicken.

Schritt 2

Klicken Sie im Visual Basic Editor auf "Einfügen" und dann auf "Modul".

Schritt 3

Geben Sie den Code ein, um eine Verbindung zur Datenbank herzustellen. Um SQL-Anweisungen zur Datenbank verwenden zu können, müssen Sie eine Verbindung herstellen.

Unter SQLTutorial()

 'Stellen Sie Ihre Variablen so ein, dass sie die Informationen enthalten Dim Conn als ADODB.Connection 'Dies ist die tatsächliche Verbindung Dim rsSelect als ADODB.Recordset 'Hier werden die Daten gespeichert Dim rsDelete als ADODB.Recordset Dim rsInsert as ADODB.Recordset Dim rsUpdate as ADODB.Recordset Dim strSelectQuery as String 'Dies ist der eigentliche SQL SELECT-Befehl Dim strDeleteQuery as String 'Dies enthält die SQL DELETE-Anweisung Dim strInsertQuery as String 'Dies ist die SQL INSERT-Anweisung Dim strUpdateQuery as String 'Dies enthält die UPDATE-Anweisung 'Geben Sie die Details zur Verbindung mit der gewünschten Datenbank ein Set Conn = New ADODB.Connection With Conn .ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;" &_ "Datenquelle=C:\Documents\SampleDatabase.mdb" .Open End With 

Nun ist Ihre Verbindung zur Datenbank hergestellt. Als nächstes weisen Sie den Variablen, die Sie oben bereits deklariert haben, SQL-Anweisungen zu.

Schritt 4

Geben Sie eine SQL-Anweisung "SELECT" ein, um Daten aus der Datenbank auszuwählen. Eine SELECT-Abfrage ist normalerweise so aufgebaut: "SELECT Spalten FROM Tabelle". Sie können der SELECT-Anweisung Kriterien hinzufügen, indem Sie die "WHERE"-Klausel hinzufügen. Sie haben beispielsweise eine Tabelle mit dem Namen "Kunden", in der Sie nach allen Kunden mit dem Nachnamen "Smith" suchen möchten. Der VBA- und SQL-Code sieht so aus:

strSelectQuery = "SELECT * FROM tblCustomers WHERE Nachname = 'Smith'

Das Sternchen (*) ist ein Platzhalter, was bedeutet, dass Sie alle Informationen oder Spalten von jedem mit dem Nachnamen "Smith" abrufen möchten. Um bestimmte Spalten auszuwählen, verwenden Sie:

strSelectQuery = "SELECT FirstName, LastName FROM tblCustomers WHERE LastName = 'Smith'"

Schritt 5

Geben Sie die Anweisung "DELETE" ein, wenn Sie Datenzeilen aus einer Tabelle löschen möchten. Der Code dafür lautet:

strDeleteQuery = "DELETE FROM tblCustomers WHERE LastName = 'Smith'"

Diese Anweisung löscht alle Zeilen, in denen der Kunde den Nachnamen "Smith" aus der Tabelle "Kunden" hat. Die grundlegende Syntax für eine DELETE-Anweisung lautet "DELETE FROM table WHERE column = 'value'".

Schritt 6

Geben Sie die Syntax ein, um eine neue Zeile in eine Tabelle einzufügen. Verwenden Sie die "INSERT"-Anweisung.

strInsertQuery = "INSERT INTO tblCustomers VALUES (John, Smith, 123 Main Street, Cleveland, Ohio)"

Wenn Sie eine Customers-Tabelle mit den Spalten FirstName, LastName, Address, City und State haben, wird diese Anweisung in die Daten in die rechte Spalte eingefügt. Das Komma weist den Code an, zur nächsten Spalte zu springen, bevor die Werte eingegeben werden. Stellen Sie sicher, dass Sie die Werte in der richtigen Reihenfolge der Spalten in der Tabelle eingeben, damit Ihre Daten konsistent sind.

Schritt 7

Geben Sie die SQL-Anweisung ein, um eine Datenzeile zu ändern. Dies ist die "UPDATE"-Anweisung.

strUpdateQuery = "UPDATE tblCustomers SET LastName='Jones', First WHERE LastName='Smith'"

Diese Aussage ändert alle, die den Nachnamen "Smith" in "Jones" und ihren Vornamen in "Jim" haben. Sie können mehrere Datenspalten gleichzeitig in einer UPDATE-Anweisung ändern, indem Sie die Spalten durch Kommas trennen. Die grundlegende Syntax für ein UPDATE ist "UPDATE table SET Spalte1=Wert1, Spalte2=Wert2, Spalte3=Wert3,... WHERE Spalte = Wert."

Geben Sie den VBA-Code ein, der die Abfrage ausführt und die Ergebnisse in Recordsets speichert. Schließen Sie den VBA-Code.

Set rsSelect = Neues ADODB.Recordset

Mit rsSelect

       Set .ActiveConnection = Conn .CursorType = adOpenStatic .Source = strSelectQuery .Open 

Ende mit

Set rsDelete = New ADODB.Recordset

Mit rsLöschen

       Set .ActiveConnection = Conn .CursorType = adOpenStatic .Source = strDeleteQuery .Open 

Ende mit

Set rsInsert = New ADODB.Recordset

Mit rsEinfügen

       Set .ActiveConnection = Conn .CursorType = adOpenStatic .Source = strInsertQuery .Open 

Ende mit

Set rsUpdate = New ADODB.Recordset

Mit rsDelect

       Set .ActiveConnection = Conn .CursorType = adOpenStatic .Source = strUpdateQuery .Open 

Ende mit

'Geben Sie den VBA-Code ein, um mit den Daten zu arbeiten, die Sie durch die SQL-Anweisungen gesammelt haben.

'Sie können die Daten verwenden, um in Formularen, in anderen Tabellen oder in Berichten zu posten.

'Schließen Sie die Recordsets und die Verbindung mit Ihnen ist fertig

rsSelect.Close

rsLöschen.Schließen

rsEinfügen.Schließen

rsUpdate.Schließen

End Sub