Slik kjører en spørring i Access VBA

Slik kjører en spørring i Access VBA


Microsoft Access, en del av Microsoft Office-pakken, er et program for å opprette og administrere data. Visual Basic for Applications (VBA) er et skriptspråk som Office-utviklere bruker til å utføre operasjoner på disse dataene, inkludert spørringer som krever liten eller ingen brukermedvirkning. Kjører spørringer i VBA lar utviklere skrive programmer i stand til å produsere data programmene trenger for å kjøre. For eksempel kan de skrive en VBA-program som automatisk genererer en månedlig rapport som viser midler som utbetales til ansatte.

Bruksanvisning

1 Åpne en eksisterende database i Access. Klikk på "Query Design" -ikonet i "Lag" -menyen for å starte et nytt søk.

2 Dobbeltklikk på den øverste elementet i "Vis tabell" dialogboksen som vises for å angi tabellen som du ønsker å gjøre et søk.

3 Dobbeltklikk på "*" tegnet i det lille vinduet som viser navnene på alle feltene i tabellen du valgte å spørre. Denne handlingen skaper en spørring som henter data fra alle tabellens felter samtidig. Skriv ned navnet på en av tabellens felt (unntatt stjerne). Din VBA spørring vil rapportere data for dette feltet.

4 Trykk "Ctrl + S" for å vise dialogboksen ber spørringen navn. Skriv "spørring1" og klikk "OK" for å lagre spørringen.

5 Trykk "Alt + F11" for å gå inn i Visual Basic integrert utviklingsmiljø (IDE) og klikk på "Module" element under "Insert" -menyen. Dette gir en ny kode vindu der du kan skrive inn ditt program.

6 Skriv eller lim programmet som følger hvor som helst i den nye koden modulen vindu. Skriv inn over teksten "YOUR_FIELD_NAME" med navnet på feltet du noterte ned i trinn tre.

Public Sub runQuery ()

Const cstrQueryName = "spørring1"

Dim dbs As DAO.Database

Dim rst Som DAO.Recordset

Sett dbs = CurrentDb

"Åpen post på eksisterende spørring

Sett rst = dbs.OpenRecordset (cstrQueryName)

'Loop gjennom alle rekorder

Gjør Mens Ikke rst.EOF

Debug.Print rst![YOUR_FIELD_NAME]

rst.MoveNext

Loop

"Lukk post og database

rst.Close

dbs.Close

End Sub

Kallet til OpenRecordset funksjon går det lagrede søket, "spørring1." Uttalelsene mellom "Do Mens" til "Loop" uttalelser iterere (med andre ord, loop) gjennom hver av postene i tabellen du valgte å spørre. Den "debug.print" statement viser rekord data for det feltet du valgte.

7 Klikk hvor som helst inne i "runQuery" subrutine du nettopp skrev, og trykk "F5" for å kjøre subrutine da. Trykk "Ctrl + G" for å vise IDE er "Immediate" vinduet (hvis det ikke allerede er synlig). Vinduet vil vise alle postene for det feltet du valgte.