Sådan får du adgang til VBA-forespørgselsresultater

...

Hent forespørgselsresultater i Access ved hjælp af VBA.

At vide, hvordan du læser resultaterne fra en Microsoft Access-forespørgsel, kan hjælpe dig med at gøre din Access-applikation mere dynamisk. Access er en del af Microsoft Office-pakken, og den bruges til at skabe relationelle databaser. Visual Basic for Applications (VBA) kan bruges i Access til at oprette Windows-applikationer og hente databasedata. En forespørgsel er bygget ved hjælp af SQL-sætninger (Structured Query Language) til at anmode om oplysninger fra en database.

Trin 1

Start Microsoft Office Access 2007 og vælg "Blank database", og klik derefter på "Opret". Klik på "Databaseværktøjer" og vælg "Visual Basic". Klik på feltet "Indsæt" og vælg "Modul".

Dagens video

Skriv "Privat sub readQueryResults" og tryk på "Enter" for at oprette en ny subrutine.

Trin 2

Indtast følgende for at erklære variabler, du vil bruge til at læse forespørgselsresultaterne:

Dim RecordSt As Recordset Dim dBase As Database Dim stringSQL As String Dim rCnt As Integer

Trin 3

Indtast følgende for at oprette "CityTbl"-tabellen:

stringSQL = "CREATE TABLE CityTbl (By TEXT(25), State TEXT(25));" DoCmd. RunSQL (stringSQL)

Trin 4

Indtast følgende for at tilføje to nye poster til din "CityTbl"-tabel:

stringSQL = "INDSÆT I CityTbl ([By], [Stat] ) " stringSQL = stringSQL & "VÆRDIER ('Fort Worth', 'Texas');" DoCmd. SetWarnings False DoCmd. RunSQL (stringSQL)

stringSQL = "INDSÆT I CityTbl ([By], [Stat] ) " stringSQL = stringSQL & "VÆRDIER ('Dallas', 'Texas');" DoCmd. SetWarnings False DoCmd. RunSQL (stringSQL)

Trin 5

Indtast følgende for at definere din forespørgsel og åbne dit Recordset:

stringSQL = "VÆLG ByTbl.* FRA ByTbl;" Indstil RecordSt = dBase. OpenRecordset (stringSQL)

Trin 6

Indtast følgende for at oprette en "For Loop" og få vist dine forespørgselsresultater via en meddelelsesboks:

RecordSt. MoveFirst For rCnt = 0 To RecordSt. RecordCount MsgBox (RecordSt. Fields("City").Value & ", " & RecordSt. Fields("State").Value) RecordSt. MoveNext Næste rCnt

Tryk på "F5" for at udføre subrutinen.