Hämta frågeresultat i Access med VBA.
Att veta hur man läser resultaten från en Microsoft Access-fråga kan hjälpa dig att göra din Access-applikation mer dynamisk. Access är en del av Microsoft Office-paketet och det används för att skapa relationsdatabaser. Visual Basic for Applications (VBA) kan användas i Access för att skapa Windows-applikationer och hämta databasdata. En fråga byggs med SQL-satser (Structured Query Language) för att begära information från en databas.
Steg 1
Starta Microsoft Office Access 2007 och välj "Tom databas" och klicka sedan på "Skapa". Klicka på "Databasverktyg" och välj "Visual Basic". Klicka på fältet "Infoga" och välj "Modul".
Dagens video
Skriv "Privat sub readQueryResults" och tryck på "Enter" för att skapa en ny subrutin.
Steg 2
Skriv följande för att deklarera variabler som du kommer att använda för att läsa frågeresultaten:
Dim RecordSt As Recordset Dim dBase As Database Dim stringSQL As String Dim rCnt As Integer
Steg 3
Skriv följande för att skapa "CityTbl"-tabellen:
stringSQL = "SKAPA TABELL StadTbl (Stad TEXT(25), Ange TEXT(25));" DoCmd. RunSQL (stringSQL)
Steg 4
Skriv följande för att lägga till två nya poster i din "CityTbl"-tabell:
stringSQL = "INSERT INTO CityTbl ([Stad], [Stat] ) " stringSQL = stringSQL & "VÄRDEN ('Fort Worth', 'Texas');" DoCmd. SetWarnings False DoCmd. RunSQL (stringSQL)
stringSQL = "INSERT INTO CityTbl ([Stad], [Stat] ) " stringSQL = stringSQL & "VÄRDEN ('Dallas', 'Texas');" DoCmd. SetWarnings False DoCmd. RunSQL (stringSQL)
Steg 5
Skriv följande för att definiera din fråga och öppna din Recordset:
stringSQL = "VÄLJ CityTbl.* FROM CityTbl;" Ställ in RecordSt = dBase. OpenRecordset (stringSQL)
Steg 6
Skriv följande för att skapa en "For Loop" och visa dina sökresultat i en meddelanderuta:
RecordSt. MoveFirst För rCnt = 0 To RecordSt. RecordCount MsgBox (RecordSt. Fields("City").Value & ", " & RecordSt. Fields("State").Value) RecordSt. MoveNext Nästa rCnt
Tryck på "F5" för att utföra subrutinen.