Access VBA Banco de Dados
Várias vezes já sofri com a falta de ferramentas para manipular os dados dentro do
access, então resolvi avançar no conhecimento usando codigo VBA para manipular os
dados, então descobri como instanciar em uma variavel o banco de dados e por esta
variavel ligar uma tabela a uma variavel e atravez desta variavel com a tabela fazer
consultas inserir, apagar e corrigir informações, vou mostrar o codigo e explicar como
funciona.
1- Crie uma variavel para armazenar o Banco de Dados.
Dim BancoDados as Database
2- Crie uma variavel para armazenar a tabela.
Dim Tabela as Recordset
3- Faça a configuração da variavel BancoDados com a db atual q esta usando.
Set BancoDados = CurrentDb
4- Faça a configuração da variavel que vai receber a tabela desejada
Set Tabela = Banco.OpenRecordset("NomeDaTabela", dbOpenTable)
Agora esta tudo pronto Qualquer operação que queira fazer é so usa a varaivel Tabela
Vou dar um exemplo de consulta.
1- Faça a seleção do campo da tabela que deseja consultar algum registro
Tabela.index = "CampoDesejado"
2- Faça a procura usando a função Seek.
Tabela.Seek "=", ValorQueDesejaProcurar
3- Você pode usar a função NoMatch para ver se foi ou não encontrado algum registro.
Vou mostrar o codigo completo.
Private Sub buttonConsultar_Click()
Dim BancoDados as Database
Dim Tabela as Recordset
Set BancoDados = CurrentDb
Set Tabela = Banco.OpenRecordset("NomeDaTabela", dbOpenTable)
Tabela.index = "CampoDesejado"
Tabela.Seek "=", ValorQueDesejaProcurar
If Tabela.NoMatch = True Then
MsgBox("Registro encontrado!")
Else
MsgBox("REsgitro não encontrado!")
End If
End Sub
Em caso de duvidas eu terei o maior prazer em ajudar!
só uma instrução não ficou clara pra mim:
ResponderExcluirSet Tabela = Banco.OpenRecordset("NomeDaTabela", dbOpenTable)
Qual é esse "Banco"?
Olá, vou fazer uma correção! na linha anterior é criada uma variavel para armazenar o banco de dados, e a mesma é usada para indicar a tabela, houve um erro de digitação na linha seguinte! o correto ficaria:
ResponderExcluirSet Tabela = BancoDados.OpenRecordset("NomeDaTabela", dbOpenTable)
Para configurar o caminho da tabela!
Caso tenha mais dúvidas, pergunte e eu vou respondendo!
Olá, é muito boa a dica! Estou fazendo um sisteminha em Access e como não tenho conhecimento em VBA, sofrendo bastante. Vc poderia dar mais dicas de quais comandos são usados para cria registro em branco, salvar, excluir e outros mais necessários a manipulação das tabalas sem depender das funções do Access.
ResponderExcluirGrato
Sim vou preparar uma série de posts relacionados, mais sugestões é só dizer! vlww
ResponderExcluirOlá estou iniciando no vba para access e:
ResponderExcluirDesejo criar um loop para preencher alguns registros em uma tabela da seguinte forma:
Código Doc Descrição
020203 5344 abc
4534 abc2
5647 abc3
234544 2535 abc4
4534 abc5
etc...
é uma tabela de + de 200 mil linhas e preciso q ela fique assim:
Código Doc Descrição
020203 5344 abc
020203 4534 abc2
020203 5647 abc3
234544 2535 abc4
234544 4534 abc5
repetir os códigos da linha anterior caso seja em branco.
Grato
dbragion@hotmail.com
020203 5344 abc
ResponderExcluir_______4534 abc2
_______5647 abc3
234544 2535 abc4
_______4534 abc5
segue novamente a tabela q foi desconfigurada
Olá Daniel! tenho uma dúvida para poder te ajudar! quando os primeiros códigos são em branco? como vai ser preenchido?
ResponderExcluirFica aqui uma dica!
ResponderExcluirPrivate Sub CommandButton1_Click()
Dim cCelula As Range
Dim sTmp As String
For Each cCelula In Worksheets("plan1").Range("a2:a100")
If Range("b" & cCelula.Row).Value = "" Then
Exit For
End If
If cCelula.Value = "" Then
cCelula.Value = sTmp
Else
sTmp = cCelula.Value
End If
Next cCelula
End Sub
Olá.
ResponderExcluirEu tenho uma dúvida.
Eu usando esse esquema para trabalhar com os registros de uma tabela, como eu poderia fazer para ir próximo registro dela?
Estou usando apenas if else.
Obrigada.