SQL VBA Tutorial

SQL VBA Tutorial


Structured Query Language (SQL) er dataspråket som brukes for å administrere relasjonsdatabaser. Visual Basic for Applications (VBA) er programmeringsspråk utviklet av Microsoft for bruk med Microsoft Office-programmer for å lage dynamisk innhold. Microsoft Access er databasen program innsiden av Microsoft Office-pakken som bruker både SQL og VBA til å administrere data og gi automatisering systema database funksjoner. Ved hjelp av programmerings skallet bak Microsoft Access, kan du koble til den sentrale databasen, kan du søke etter data, legge til nye data og slette data ved å kombinere SQL og VBA programmeringskode.

Bruksanvisning

1 Åpne databasen du ønsker å jobbe med i Microsoft Access. Åpne Visual Basic Editor ved å klikke på "Database Verktøy" -fanen og deretter "Visual Basic".

2 Klikk på "Sett inn" og deretter "Module" i Visual Basic Editor.

3 Skriv inn koden for å koble til databasen. Du må opprette en tilkobling for å kunne bruke SQL-setninger til databasen.

Sub SQLTutorial ()

'Set up your variables to hold the information

Dim Conn som ADODB.Connection 'Dette er selve tilkoblingen

Dim rsSelect som ADODB.Recordset 'Dette er hvor du vil lagre data

Dim rsDelete som ADODB.Recordset

Dim rsInsert som ADODB.Recordset

Dim rsUpdate som ADODB.Recordset

Dim strSelectQuery som String 'Dette er selve SQL SELECT-kommandoen

Dim strDeleteQuery som String 'Dette vil holde SQL DELETE-setningen

Dim strInsertQuery som String 'Dette er SQL INSERT-setningen

Dim strUpdateQuery som String 'Dette vil holde UPDATE statement

'Skriv inn detaljene for å koble til databasen du vil

Sett Conn = Ny ADODB.Connection

med Conn

.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0;" & _

"Data Source = C: \ Documents \ SampleDatabase.mdb"

.Åpne

End With

Nå tilkoblingen til databasen har blitt gjort. Deretter vil du tilordne SQL-setninger til de variablene du allerede overfor.

4 Skriv inn et "SELECT" SQL-setning for å velge data fra databasen. En SELECT spørring er vanligvis laget opp som dette: "SELECT kolonner FROM tabell". Du kan legge til kriterier til SELECT-setningen ved å legge på "hvor" klausul. For eksempel, har du en tabell kalt "kunder" som du ønsker å søke etter alle kundene med etternavnet "Smith". VBA og SQL-kode vil se slik ut:

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

Stjernen (*) er et wildcard, noe som betyr at du ønsker å trekke all informasjon, eller kolonner, på alle med etternavnet "Smith". Hvis du vil velge bestemte kolonner, vil du bruke:

strSelectQuery = "SELECT Fornavn, Etternavn FROM tblCustomers WHERE Lastname = 'Smith'"

5 Skriv inn "SLETT" statement om du ønsker å slette rader med data fra en tabell. Koden for det er:

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

Denne uttalelsen vil slette alle rader der kunden har et etternavn "Smith" fra "kunder" bord. Den grunnleggende syntaks for en DELETE-setning er "DELETE FROM tabell WHERE kolonne =" verdi "."

6 Skriv inn syntaksen for å sette inn en ny rad i en tabell. Bruk "INSERT" statement.

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

Hvis du hadde en Kunder tabell som har Fornavn, Etternavn, Adresse, by og stat kolonner, vil denne uttalelsen sette i dataene inn i høyre kolonne. Komma forteller koden for å hoppe til neste kolonne før du går inn i verdiene. Vær sikker på at du skriver inn verdiene i riktig rekkefølge på kolonnene i tabellen, slik at dataene er konsistent.

7 Skriv inn SQL-setningen for å endre en rad med data. Dette er "UPDATE" statement.

strUpdateQuery = "UPDATE tblCustomers SET Lastname = 'Jones', Fornavn =" Jim "WHERE Lastname = 'Smith'"

Denne uttalelsen endringer alle som har et etternavn "Smith" til "Jones" og deres første navnene til «Jim». Du kan endre flere kolonner med data på en gang i en UPDATE-setningen ved å skille kolonnene med komma. Den grunnleggende syntaks for en oppdatering "UPDATE tabell SET kolonne 1 = verdi1, COLUMN2 = value2, kolonne 3 = verdi3, ... WHERE kolonne = verdi."

8 Skriv inn VBA-kode som vil kjøre spørringen og lagre resultatene til Recordsets. Lukke ut VBA-kode.

Sett rsSelect = Ny ADODB.Recordset

med rsSelect

Set .ActiveConnection = Conn

.CursorType = AdOpenStatic

.Source = StrSelectQuery

.Åpne

End With

Sett rsDelete = Ny ADODB.Recordset

med rsDelete

Set .ActiveConnection = Conn

.CursorType = AdOpenStatic

.Source = StrDeleteQuery

.Åpne

End With

Sett rsInsert = Ny ADODB.Recordset

med rsInsert

Set .ActiveConnection = Conn

.CursorType = AdOpenStatic

.Source = StrInsertQuery

.Åpne

End With

Sett rsUpdate = Ny ADODB.Recordset

med rsDelect

Set .ActiveConnection = Conn

.CursorType = AdOpenStatic

.Source = StrUpdateQuery

.Åpne

End With

'Skriv inn VBA-kode for å gjøre arbeidet med dataene du har samlet gjennom SQL-setninger.

'Du kan bruke dataene til å poste i former, i andre tabeller eller i rapporter.

«Lukk Recordsets og tilknytning til du er ferdig

rsSelect.Close

rsDelete.Close

rsInsert.Close

rsUpdate.Close

End Sub