SQL VBA-zelfstudie
Structured Query Language (SQL) is de computertaal die wordt gebruikt voor het beheer van relationele databases. Visual Basic for Applications (VBA) is de programmeertaal die door Microsoft is ontwikkeld om met de Microsoft Office-toepassingen dynamische inhoud te creëren. Microsoft Access is het databaseprogramma binnen de Microsoft Office-suite dat zowel SQL als VBA gebruikt om gegevens te beheren en om systematische databasefuncties te automatiseren. Met behulp van de programmeerschil achter Microsoft Access kunt u verbinding maken met de hoofddatabase, naar gegevens zoeken, nieuwe gegevens toevoegen en gegevens verwijderen door SQL- en VBA-programmeercode te combineren.
Stap 1
Open de database waarmee u wilt werken in Microsoft Access. Open de Visual Basic Editor door te klikken op het tabblad "Database Tools" en vervolgens op "Visual Basic".
Stap 2
Klik op "Invoegen" en vervolgens op "Module" in de Visual Basic Editor.
Stap 3
Typ de code om verbinding te maken met de database. U moet een verbinding tot stand brengen om SQL-instructies naar de database te gebruiken.
Sub SQLTutorial()
'Stel uw variabelen in om de informatie Dim Conn als ADODB.Connection te bewaren 'Dit is de daadwerkelijke verbinding Dim rsSelect as ADODB.Recordset 'Hier slaat u de gegevens op Dim rsDelete als ADODB.Recordset Dim rsInsert as ADODB.Recordset Dim rsUpdate as ADODB.Recordset Dim strSelectQuery as String 'Dit is het eigenlijke SQL SELECT-commando Dim strDeleteQuery as String' Dit bevat de SQL DELETE-instructie Dim strInsertQuery as String 'Dit is de SQL INSERT-instructie Dim strUpdateQuery as String 'Dit bevat de UPDATE-instructie 'Typ de details om verbinding te maken met de database die u wilt instellen Conn = New ADODB.Connection With Conn .ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;" &_ "Data Source=C:\Documents\SampleDatabase.mdb" .Open End With
Nu is uw verbinding met de database gemaakt. Vervolgens wijst u SQL-instructies toe aan de variabelen die u hierboven al hebt gedeclareerd.
Stap 4
Typ een "SELECT" SQL-instructie om gegevens uit de database te selecteren. Een SELECT-query is meestal als volgt opgebouwd: "SELECT columns FROM table". U kunt criteria aan de SELECT-instructie toevoegen door de clausule "WHERE" toe te voegen. U hebt bijvoorbeeld een tabel met de naam 'Klanten' waarin u wilt zoeken naar alle klanten met de achternaam 'Smith'. De VBA- en SQL-code zien er als volgt uit:
strSelectQuery = "SELECTEER * FROM tblCustomers WHERE LastName = 'Smith'
De asterisk(*) is een jokerteken, wat betekent dat u alle informatie of kolommen wilt gebruiken voor iedereen met de achternaam 'Smith'. Om bepaalde kolommen te selecteren, gebruikt u:
strSelectQuery = "SELECTEER Voornaam, Achternaam FROM tblCustomers WHERE Achternaam = 'Smith'"
Stap 5
Typ de instructie "DELETE" als u rijen met gegevens uit een tabel wilt verwijderen. De code daarvoor is:
strDeleteQuery = "VERWIJDEREN VAN tblCustomers WHERE LastName = 'Smith'"
Deze verklaring verwijdert alle rijen waarin de klant de achternaam "Smith" heeft uit de tabel "Klanten". De basissyntaxis voor een DELETE-instructie is "DELETE FROM table WHERE column = 'value'."
Stap 6
Typ de syntaxis om een nieuwe rij in een tabel in te voegen. Gebruik de instructie "INSERT".
strInsertQuery = "INSERT INTO tblCustomers VALUES (John, Smith, 123 Main Street, Cleveland, Ohio)"
Als u een tabel Klanten had met kolommen Voornaam, Achternaam, Adres, Stad en Staat, wordt deze verklaring in de gegevens in de rechterkolom ingevoegd. De komma vertelt de code om naar de volgende kolom te gaan voordat de waarden worden ingevoerd. Zorg ervoor dat u de waarden in de juiste volgorde van de kolommen in de tabel typt, zodat uw gegevens consistent zijn.
Stap 7
Typ de SQL-instructie om een rij met gegevens te wijzigen. Dit is de "UPDATE"-verklaring.
strUpdateQuery = "UPDATE tblCustomers SET LastName='Jones', First WHERE LastName='Smith'"
Deze verklaring verandert iedereen met de achternaam "Smith" in "Jones" en hun voornamen in "Jim". U kunt meerdere gegevenskolommen tegelijk in één UPDATE-instructie wijzigen door de kolommen met komma's te scheiden. De basissyntaxis voor een UPDATE is "UPDATE tabel SET kolom1=waarde1, kolom2=waarde2, kolom3=waarde3,... WHERE kolom = waarde."
Typ de VBA-code die de query uitvoert en sla de resultaten op in recordsets. Sluit de VBA-code.
Stel rsSelect in = Nieuwe ADODB.Recordset
Met rsSelect
Set .ActiveConnection = Conn .CursorType = adOpenStatic .Source = strSelectQuery .Open
Eindigt met
Stel rsDelete = Nieuwe ADODB.Recordset in
Met rsDelete
Set .ActiveConnection = Conn .CursorType = adOpenStatic .Source = strDeleteQuery .Open
Eindigt met
Stel rsInsert = Nieuwe ADODB.Recordset in
Met rsInsert
Set .ActiveConnection = Conn .CursorType = adOpenStatic .Source = strInsertQuery .Open
Eindigt met
Stel rsUpdate = Nieuwe ADODB.Recordset in
Met rsDelect
Set .ActiveConnection = Conn .CursorType = adOpenStatic .Source = strUpdateQuery .Open
Eindigt met
'Typ de VBA-code in om te werken met de gegevens die je via de SQL-statements hebt verzameld.
'Je kunt de gegevens gebruiken om te posten in formulieren, in andere tabellen of in rapporten.
'Sluit de recordsets en de verbinding met jou is klaar
rsSelect.Sluiten
rsVerwijderen.Sluiten
rsInvoegen.Sluiten
rsBijwerken.Sluiten
Einde sub