>> Tecnologia Eletrônica >  >> Casa Inteligente >> Vida Inteligente

Como Acessar Resultados de Consulta VBA

Saber como ler os resultados de uma consulta do Microsoft Access pode ajudar a tornar sua aplicação Access mais dinâmica. O Access faz parte do pacote Microsoft Office e é usado para criar bancos de dados relacionais. Visual Basic for Applications (VBA) pode ser usado no Access para criar aplicações Windows e recuperar dados do banco. Uma consulta é construída usando instruções Structured Query Language (SQL) para solicitar informações de um banco de dados.

Passo 1

Inicie o Microsoft Office Access 2007 e selecione "Banco de Dados em Branco", depois clique em "Criar". Clique em "Ferramentas de Banco de Dados" e selecione "Visual Basic". Clique no campo "Inserir" e selecione "Módulo".

Digite "Private sub readQueryResults" e pressione "Enter" para criar uma nova sub-rotina.

Passo 2

Digite o seguinte para declarar variáveis que você usará para ler os resultados da consulta:

Dim RecordSt As Recordset Dim dBase As Database Dim stringSQL As String Dim rCnt As Integer

Passo 3

Digite o seguinte para criar a tabela "CityTbl":

stringSQL = "CREATE TABLE CityTbl (City TEXT(25), State TEXT(25));" DoCmd.RunSQL (stringSQL)

Passo 4

Digite o seguinte para adicionar dois novos registros à sua tabela "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)

Passo 5

Digite o seguinte para definir sua consulta e abrir seu Recordset:

stringSQL = "SELECT CityTbl.* FROM CityTbl;" Set RecordSt = dBase.OpenRecordset(stringSQL)

Passo 6

Digite o seguinte para criar um "Loop For" e exibir seus resultados da consulta através de uma message box:

RecordSt.MoveFirst For rCnt = 0 To RecordSt.RecordCount MsgBox (RecordSt.Fields("City").Value & ", " & RecordSt.Fields("State").Value) RecordSt.MoveNext Next rCnt

Pressione "F5" para executar a sub-rotina.