Å vite hvordan du skal lese resultatene fra en Microsoft Access spørring kan hjelpe deg å gjøre din Access-programmet mer dynamisk . Access er en del av Microsoft Office-pakken , og det er brukt til å lage relasjonsdatabaser. Visual Basic for Applications ( VBA ) kan brukes i Access til å lage Windows-programmer og hente database data . En spørring er bygget ved hjelp av Structured Query Language ( SQL) utsagn for å be om informasjon fra en database . Du trenger
Microsoft Office Access 2007
Vis flere instruksjoner
en
start Microsoft Office Access 2007 og velg "Blank Database ," klikk " Opprett". Klikk "Database Verktøy" og velg " Visual Basic. " Klikk på " Insert "-feltet og velg " Module" .
Type "Private sub readQueryResults " og trykk " Enter" for å opprette en ny subrutine .
2
Skriv inn følgende for å erklære variablene du vil bruke til å lese resultatene av spørringen :
Dim RecordSt Som Recordset
Dim dBase Som Database
Dim stringSQL As String
Dim rCnt As Integer
3
Skriv inn følgende for å skape den " CityTbl " tabellen : en
stringSQL = " CREATE tABLE CityTbl (City TEKST ( 25 ) , State TEKST ( 25 ) ); "
DoCmd.RunSQL ( stringSQL )
4
Skriv inn følgende for å legge til to nye poster til" CityTbl "tabellen : en
stringSQL =" INSERT INTO CityTbl ( [Sted ] , [State ] ) "
stringSQL = stringSQL &" VALUES ( ' Fort Worth ', ' Texas '); "
DoCmd.SetWarnings False
DoCmd.RunSQL ( stringSQL )
stringSQL = " INSERT INTO CityTbl ( [Sted ] , [State ] )"
stringSQL = stringSQL & " VALUES ( ' Dallas ', ' Texas' ); "
DoCmd.SetWarnings False
DoCmd.RunSQL ( stringSQL )
5
Type følgende for å definere søket og åpne Recordset :
< p > stringSQL = "SELECT CityTbl * FROM CityTbl ; . "
Set RecordSt = dBase.OpenRecordset ( stringSQL )
6
Skriv inn følgende for å opprette et "For Loop " og vise spørring resultater gjennom en meldingsboks :
RecordSt.MoveFirst
For rCnt = 0 For å RecordSt.RecordCount
MsgBox ( RecordSt.Fields ( "City" ) Value & " . , "& RecordSt.Fields ( " State ") . Value)
RecordSt.MoveNext
Neste rCnt
Trykk" F5 "for å utføre subrutine .