SQL VBA vejledning

Structured Query Language (SQL) er computersproget, der bruges til styring af relationsdatabaser. Visual Basic for Applications (VBA) er det programmeringssprog, der er udviklet af Microsoft til brug sammen med Microsoft Office-applikationer til at skabe dynamisk indhold. Microsoft Access er databaseprogrammet inde i Microsoft Office-pakken, der bruger både SQL og VBA til at administrere data og levere automatisering til systematiske databasefunktioner. Ved hjælp af programmeringsskallen bag Microsoft Access kan du oprette forbindelse til hoveddatabasen, søge efter data, tilføje nye data og slette data ved at kombinere SQL- og VBA-programmeringskode.

Trin 1

Åbn den database, du vil arbejde med i Microsoft Access. Åbn Visual Basic Editor ved at klikke på fanen "Databaseværktøjer" og derefter "Visual Basic."

Trin 2

Klik på "Indsæt" og derefter "Modul" i Visual Basic Editor.

Trin 3

Indtast koden for at oprette forbindelse til databasen. Du bliver nødt til at oprette en forbindelse for at kunne bruge SQL-udsagn til databasen.

Sub SQLTutorial ()

 'Konfigurer dine variabler til at holde informationen Dim Conn som ADODB.Connection' Dette er den faktiske forbindelse Dim rsVælg som ADODB.Recordset 'Her gemmer du data Dim rs Slet som ADODB.Recordset Dim rs Indsæt som ADODB.Recordset Dim rsUpdate som ADODB.Recordset Dim strSelectQuery som String 'Dette er den aktuelle SQL SELECT-kommando Dim strDeleteQuery som String' Dette holder SQL DELETE-sætningen Dim strInsertQuery som String 'Dette er SQL INSERT-sætningen Dim strUpdateQuery som String' Dette holder UPDATE-sætningen 'Indtast detaljerne for at oprette forbindelse til den database, du ønsker Indstil Conn = Ny ADODB.Connection With Conn .ConnectionString = "Udbyder = Microsoft.Jet.OLEDB.4.0;" & _ "Datakilde = C: \ Documents \ SampleDatabase.mdb". Åbn slutningen med 

Nu er din forbindelse til databasen blevet oprettet. Dernæst tildeler du SQL-sætninger til de variabler, du allerede har erklæret ovenfor.

Trin 4

Indtast en "SELECT" SQL-sætning for at vælge data fra databasen. En SELECT-forespørgsel består normalt af denne: "VÆLG kolonner FRA tabel". Du kan tilføje kriterier til SELECT-sætningen ved at tilføje i "WHERE" -klausulen. For eksempel har du en tabel kaldet "Kunder", som du vil søge efter alle kunder med efternavnet "Smith". VBA- og SQL-koden vil se sådan ud:

strSelectQuery = "VÆLG * FRA tblCustomers WHERE LastName = 'Smith'

Stjernen (*) er et jokertegn, hvilket betyder, at du vil trække alle oplysningerne eller kolonnerne på alle med efternavnet "Smith". For at vælge bestemte kolonner skal du bruge:

strSelectQuery = "VÆLG Fornavn, Efternavn FRA tblCustomers WHERE LastName = 'Smith'"

Trin 5

Indtast "SLET" -erklæringen, hvis du vil slette datarækker fra en tabel. Koden til det er:

strDeleteQuery = "SLET FRA tblCustomers WHERE LastName = 'Smith'"

Denne erklæring sletter alle rækker, hvor kunden har efternavnet "Smith" fra "Kunder" -tabellen. Den grundlæggende syntaks for en DELETE-sætning er "DELETE FROM table WHERE column = 'value'."

Trin 6

Indtast syntaksen for at indsætte en ny række i en tabel. Brug "INSERT" -erklæringen.

strInsertQuery = "INDSÆT I tblKunderVÆRDIER (John, Smith, 123 Main Street, Cleveland, Ohio)"

Hvis du havde en kundetabel, der har fornavn, efternavn, adresse, by og statskolonner, indsættes denne erklæring i dataene i højre kolonne. Kommaet fortæller koden at springe til den næste kolonne, inden de indtaster værdierne. Sørg for, at du skriver værdierne i den rigtige rækkefølge af kolonnerne i tabellen, så dine data er konsistente.

Trin 7

Indtast SQL-sætningen for at ændre en række data. Dette er "UPDATE" -erklæringen.

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

Denne erklæring ændrer alle, der har efternavnet "Smith" til "Jones" og deres fornavne til "Jim." Du kan ændre flere kolonner med data på én gang i en UPDATE-sætning ved at adskille kolonnerne med kommaer. Den grundlæggende syntaks for en UPDATE er "UPDATE-tabel SET kolonne1 = værdi1, kolonne2 = værdi2, kolonne3 = værdi3, ... HVOR kolonne = værdi."

Indtast VBA-koden, der kører forespørgslen, og gem resultaterne i recordsets. Luk VBA-koden.

Indstil rsSelect = Nyt ADODB.Recordset

Med rsVælg

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

Afslut med

Indstil rsDelete = Ny ADODB.Recordset

Med rsDelete

       Indstil .ActiveConnection = Conn. Cursortype = adOpenStatic. Source = strDeleteQuery. Open 

Afslut med

Indstil rsInsert = Nyt ADODB.Recordset

Med rsInsert

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

Afslut med

Indstil rsUpdate = Nyt ADODB.Recordset

Med rsDelect

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

Afslut med

'Indtast VBA-koden for at arbejde med de data, du har samlet gennem SQL-sætningerne.

'Du kan bruge dataene til at sende i formularer, i andre tabeller eller i rapporter.

'Luk recordsets og forbindelsen med dig er færdig

rsVælg.Luk

rsDelete.Luk

rsInsert.Luk

rsUpdate.Luk

Afslut sub