SQL VBA-handledning

Structured Query Language (SQL) är datorspråket som används för att hantera relationsdatabaser. Visual Basic for Applications (VBA) är programmeringsspråket som utvecklats av Microsoft för att användas med Microsoft Office-applikationer för att skapa dynamiskt innehåll. Microsoft Access är databasprogrammet i Microsoft Office-paketet som använder både SQL och VBA för att hantera data och tillhandahålla automatisering till systematiska databasfunktioner. Med hjälp av programmeringsskalet bakom Microsoft Access kan du ansluta till huvuddatabasen, söka efter data, lägga till nya data och radera data genom att kombinera SQL- och VBA-programmeringskod.

Steg 1

Öppna databasen du vill arbeta med i Microsoft Access. Öppna Visual Basic Editor genom att klicka på fliken "Databasverktyg" och sedan "Visual Basic."

Steg 2

Klicka på "Infoga" och sedan "Modul" i Visual Basic Editor.

Steg 3

Skriv in koden för att ansluta till databasen. Du måste upprätta en anslutning för att kunna använda SQL-uttalanden till databasen.

Sub SQLTutorial ()

 'Ställ in dina variabler för att hålla informationen Dim Conn som ADODB.Connection' Detta är den faktiska anslutningen Dim rsVälj som ADODB.Recordset 'Det är här du kommer att spara data Dim rs Radera som ADODB.Recordset Dim rsInsert as ADODB.Recordset Dim rsUpdate som ADODB.Recordset Dim strSelectQuery som String 'Detta är det faktiska SQL SELECT-kommandot Dim strDeleteQuery som String' Detta kommer att hålla SQL DELETE-satsen Dim strInsertQuery som String 'Detta är SQL INSERT-satsen Dim strUpdateQuery som String' Detta kommer att hålla UPDATE-satsen 'Skriv in detaljerna för att ansluta till den databas som du vill Ange Conn = Ny ADODB.Connection With Conn .ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0;" & _ "Datakälla = C: \ Documents \ SampleDatabase.mdb". Öppna slutet med 

Nu har din anslutning till databasen gjorts. Därefter tilldelar du SQL-satser till de variabler som du redan har deklarerat ovan.

Steg 4

Skriv in en "VÄLJ" SQL-sats för att välja data från databasen. En SELECT-fråga består vanligtvis så här: "VÄLJ kolumner FRÅN tabell". Du kan lägga till kriterier i SELECT-satsen genom att lägga till i "WHERE" -satsen. Till exempel har du en tabell som heter "Kunder" som du vill söka efter alla kunder med efternamnet "Smith". VBA- och SQL-koden ser ut så här:

strSelectQuery = "VÄLJ * FRÅN tblCustomers WHERE LastName = 'Smith'

Asterisken (*) är ett jokertecken, vilket betyder att du vill dra all information, eller kolumner, på vem som helst med efternamnet "Smith". För att välja vissa kolumner skulle du använda:

strSelectQuery = "VÄLJ Förnamn, efternamn FRÅN tblCustomers WHERE LastName = 'Smith'"

Steg 5

Skriv in "DELETE" -uttrycket om du vill ta bort rader med data från en tabell. Koden för det är:

strDeleteQuery = "RADERA FRÅN tblCustomers WHERE LastName = 'Smith'"

Detta uttalande tar bort alla rader där kunden har efternamnet "Smith" från "Kunder" -tabellen. Den grundläggande syntaxen för ett DELETE-uttalande är "DELETE FROM table WHERE column = 'value'."

Steg 6

Skriv in syntaxen för att infoga en ny rad i en tabell. Använd uttalandet "INSERT".

strInsertQuery = "INSÄTTA I tblKunder VÄRDERINGAR (John, Smith, 123 Main Street, Cleveland, Ohio)"

Om du hade en kundtabell som har förnamn, efternamn, adress, stad och statskolumner, kommer detta uttalande att infogas i data i den högra kolumnen. Kommatecken ber koden att hoppa till nästa kolumn innan du anger värdena. Se till att du skriver in värdena i rätt ordning på kolumnerna i tabellen så att dina data är konsekventa.

Steg 7

Skriv in SQL-satsen för att ändra en rad data. Detta är uttalandet "UPDATE".

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

Detta uttalande ändrar alla som har efternamnet "Smith" till "Jones" och deras förnamn till "Jim". Du kan ändra flera datakolumner samtidigt i ett UPDATE-uttalande genom att separera kolumnerna med kommatecken. Den grundläggande syntaxen för en UPPDATERING är "UPPDATERINGSTABELL SET kolumn1 = värde1, kolumn2 = värde2, kolumn3 = värde3, ... VAR kolumn = värde."

Skriv in VBA-koden som kör frågan och spara resultaten i registeruppsättningar. Stäng VBA-koden.

Ställ in rsSelect = Ny ADODB.Recordset

Med rsVälj

       Ställ in .ActiveConnection = Conn .CursorType = adOpenStatic .Source = strSelectQuery .Open 

Sluta med

Ställ in rsDelete = Ny ADODB.Recordset

Med rsDelete

       Ställ in .ActiveConnection = Conn .CursorType = adOpenStatic .Source = strDeleteQuery .Open 

Sluta med

Ställ in rsInsert = Ny ADODB.Recordset

Med rsInsert

       Ställ in .ActiveConnection = Conn .CursorType = adOpenStatic .Source = strInsertQuery .Open 

Sluta med

Ställ in rsUpdate = Ny ADODB.Recordset

Med rsDelect

       Ställ in .ActiveConnection = Conn .CursorType = adOpenStatic .Source = strUpdateQuery .Open 

Sluta med

'Skriv in VBA-koden för att arbeta med de data du har samlat in genom SQL-uttalandena.

'Du kan använda informationen för att publicera i formulär, i andra tabeller eller i rapporter.

'Stäng registeruppsättningarna och anslutningen med dig är klar

rsVälj. stäng

rsDelete.Close

rsInsert. stäng

rsUpdate.Close

Avsluta sub