Come accedere ai risultati di query VBA
Sapere come leggere i risultati da una query Microsoft Access può aiutarti a rendere la tua applicazione Access più dinamica. Access fa parte della suite Microsoft Office ed è usato per creare database relazionali. Visual Basic for Applications (VBA) può essere usato in Access per creare applicazioni Windows e recuperare dati del database. Una query è costruita usando istruzioni Structured Query Language (SQL) per richiedere informazioni da un database.
Passaggio 1
Avvia Microsoft Office Access 2007 e seleziona "Database vuoto", poi clicca "Crea". Clicca "Strumenti database" e seleziona "Visual Basic". Clicca il campo "Inserisci" e seleziona "Modulo".
Digita "Private sub readQueryResults" e premi "Invio" per creare una nuova subroutine.
Passaggio 2
Digita il seguente per dichiarare le variabili che userai per leggere i risultati della query:
Dim RecordSt As Recordset Dim dBase As Database Dim stringSQL As String Dim rCnt As Integer
Passaggio 3
Digita il seguente per creare la tabella "CityTbl":
stringSQL = "CREATE TABLE CityTbl (City TEXT(25), State TEXT(25));" DoCmd.RunSQL (stringSQL)
Passaggio 4
Digita il seguente per aggiungere due nuovi record alla tua tabella "CityTbl":
stringSQL = "INSERT INTO CityTbl ([City], [State] ) " stringSQL = stringSQL & "VALUES ('Fort Worth', 'Texas');" DoCmd.SetWarnings False DoCmd.RunSQL (stringSQL)
stringSQL = "INSERT INTO CityTbl ([City], [State] ) " stringSQL = stringSQL & "VALUES ('Dallas', 'Texas');" DoCmd.SetWarnings False DoCmd.RunSQL (stringSQL)
Passaggio 5
Digita il seguente per definire la tua query e aprire il Recordset:
stringSQL = "SELECT CityTbl.* FROM CityTbl;" Set RecordSt = dBase.OpenRecordset(stringSQL)
Passaggio 6
Digita il seguente per creare un "Ciclo For" e visualizzare i risultati della query tramite una message box:
RecordSt.MoveFirst For rCnt = 0 To RecordSt.RecordCount MsgBox (RecordSt.Fields("City").Value & ", " & RecordSt.Fields("State").Value) RecordSt.MoveNext Next rCnt
Premi "F5" per eseguire la subroutine.