Hogyan lehet elérni a VBA-lekérdezések eredményeit
A Microsoft Access-lekérdezések eredményeinek kiolvasásának ismerete segíthet az Access-alkalmazás dinamikusabbá tételében. Az Access a Microsoft Office programcsomag része, és relációs adatbázisok létrehozására szolgál. A Visual Basic for Applications (VBA) az Accessben Windows-alkalmazások létrehozására és adatbázisadatok lekérésére használható. A lekérdezések a Structured Query Language (SQL) utasítások használatával készülnek, hogy információt kérjenek az adatbázisból.
1. lépés
Indítsa el a Microsoft Office Access 2007 alkalmazást, válassza az „Üres adatbázis” lehetőséget, majd kattintson a „Létrehozás” gombra. Kattintson az "Adatbáziseszközök" elemre, és válassza a "Visual Basic" lehetőséget. Kattintson a "Beszúrás" mezőre, és válassza a "Modul" lehetőséget.
Írja be a „Private sub readQueryResults” kifejezést, és nyomja meg az „Enter” gombot egy új szubrutin létrehozásához.
2. lépés
Írja be a következőket a lekérdezés eredményeinek olvasásához használt változók deklarálásához:
Dim RecordSt As Recordset Dim dBase As Database Dim stringSQL As String Dim rCnt As Integer
3. lépés
A "CityTbl" táblázat létrehozásához írja be a következőt:
stringSQL ="CREATE TABLE CityTbl (City TEXT(25), State TEXT(25));" DoCmd.RunSQL (stringSQL)
4. lépés
Írja be a következőt két új rekord hozzáadásához a "CityTbl" táblához:
stringSQL ="INSERT INTO CityTbl ([város], [állam] ) " stringSQL =stringSQL &"VALUES ('Fort Worth', 'Texas');" DoCmd.SetWarnings Hamis DoCmd.RunSQL (stringSQL)
stringSQL ="INSERT INTO CityTbl ([város], [állam] ) " stringSQL =stringSQL &"VALUES ('Dallas', 'Texas');" DoCmd.SetWarnings Hamis DoCmd.RunSQL (stringSQL)
5. lépés
Írja be a következőt a lekérdezés meghatározásához, és nyissa meg a rekordkészletet:
stringSQL ="Válasszon CityTbl.* FROM CityTbl;" Állítsa be a RecordSt =dBase.OpenRecordset(stringSQL)
értéket6. lépés
Írja be a következőket a "For Loop" létrehozásához, és a lekérdezés eredményeinek üzenetmezőn keresztül történő megjelenítéséhez:
RecordSt.MoveFirst For rCnt =0 To RecordSt.RecordCount MsgBox (RecordSt.Fields("City").Value &", " &RecordSt.Fields("State").Value) RecordSt.MoveNext Next rCnt
Nyomja meg az "F5" billentyűt az alprogram végrehajtásához.