DAO - Data Access Objects

O DAO é um método de acesso ao banco de dados, utilizando apenas codificação. É basicamente o antecessor ao ADO. Como a Microsoft não pretende atualiza-lo mais, depois da versão 6 do Visual Basic. Muitos programadores fizeram a conversão de sistemas DAO para o ADO, por ser este último mais rápido. Existem além de inúmeros sistemas em DAO como uma vasta literatura.

Crie o formulário abaixo:

Formulário de Clientes

Como o ADO, você precisa adicionar a biblioteca para manipular o banco de dados. Clique no Menu Project / References

Marque a opção Microsoft DAO 3.51 Object Library

A seguir, crie um Módulo (Menu Project/Add Module) e crie as variáveis para acesso ao Banco de Dados e para a tabela Cliente

Public BD As Database 'Variável para conectar ao banco de dados
Public tbCliente As RecordSet 'Variável para conectar a tabela

Dê dois cliques dentro do formulário e dentro do Form Load, digite a seguinte linha de comando:
Set BD = OpenDataBase(App.Path & "\Cadastro.mdb")
Observação:
- App.Path é o caminho(Path) da aplicação(App.). É onde está gravado o arquivo de Banco de Dados.
- Cadastro.mdb é o nome do arquivo de banco de dados.
Abrindo a Tabela

Dentro do formulário de Clientes no Form Load, digite a seguinte linha de comando:
Set tbCliente = BD.OpenDataBase("Cliente",dbOpenTable)
Observação:
- Cliente que está entre aspas, refere-se a tabela de clientes, e é o nome que está gravado dentro do Banco de Dados Access, quando da criação do mesmo.

Recuperando informações da Tabela

Para exibir os dados de cada campo nos Text Box, dê um duplo clique dentro do formulário ou se estiver dentro da janela de códigos, clique abaixo de qualquer End Sub e digite o seguinte:

Private Sub Exibir_Dados()
txtCodigo.Text = tbCliente!Codigo
txtNome.Text = tbCliente!Nome
txtCidade.Text = tbCliente!Cidade
txtTelefone.Text = tbCliente!Telefone
txtTelefone.Text = tbCliente!Telefone
txtCPF.Text = tbCliente!CPF
txtRG.Text = tbCliente!RG
tbCliente.Edit
End Sub
Observação:
- txtCodigo.Text é o nome da caixa de textos onde será exibido o conteúdo do campo que está na tabela;
- tbCliente!Codigo --> onde: tbCliente é a variável que foi criada e que foi utilizada para abrir a tabela - Codigo é o nome do campo.

Adicionando, Excluindo e Salvando registros

Codificação do botão Novo:
tbCliente.AddNew
txtCodigo.Setfocus
Codificação do botão Editar:
tbCliente.Edit
txtCodigo.Setfocus
Codificação do botão Salvar:
If MsgBox("Deseja Salvar este registro ?", VbQuestion + VbYesNo, "Salvar") = vbYes Then
If txtCodigo.Text = "" Then
MsgBox "Favor informar o Código !!!", vbInformation, "Código"
txtCodigo.SetFocus
Exit Sub
End If
If txtNome.Text = "" Then
MsgBox "Favor informar o Nome !!!", vbInformation, "Nome"
txtNome.SetFocus
Exit Sub
End If
tbCliente!Codigo = txtCodigo.Text
tbCliente!Nome = txtNome.Text
tbCliente!Cidade = txtCidade.Text
tbCliente!Telefone = txtTelefone.Text
tbCliente!CPF = txtCPF.Text
tbCliente!RG = txtRG.Text
tbCliente.Update
End If
txtCodigo.Setfocus

Codificação do botão Excluir:
If MsgBox("Deseja Excluireste registro ?", VbQuestion + VbYesNo, "Excluir") = vbYes Then
tbCliente.Delete
tbCliente.MoveNext
End If
txtCodigo.Setfocus

Codificação dos botões: Primeiro, Anterior, Próximo e Último:
Primeiro:
tbClientes.MoveFirst
Call Exibir_Dados
Anterior:
tbClientes.MovePrevious
If tbClientes.BOF Then tbClientes.MoveFirst
Call Exibir_Dados
Próximo:
tbClientes.MoveNext
If tbClientes.EOF Then tbClientes.MoveLast
Call Exibir_Dados
Último:
tbClientes.MoveLast
Call Exibir_Dados

O Código abaixo, faz com que ao digitar o código do cliente, ao passar para a caixa de textos do nome, será verificado se o código existe (NoMatch). Senão existir será criado um registro novo (AddNew) caso contrário será alteração (Edit), e os dados serão exibidos nos text box.

No evento GotFocus do Text Box Nome, digite o código abaixo:

tbCliente.Index = "PrimaryKey"
tbCliente.Seek "=",txtCodigo.Text
if tbCliente.NoMatch Then
tbCliente.AddNew
else
tbCliente.Edit
Call Exibir_Dados
End if

Hosted by www.Geocities.ws

1