Documente Academic
Documente Profesional
Documente Cultură
ADO (Access Data Object), DAO (Data Access Object). Drivers ODBC e Drivers OLE DB.
Visual Basic
Dim DB As Database
Dim TBCliente As Recordset
SubuHabilitar()
TxtCodigo.Enabled = True
TxtNome.Text = True
TxtEndereco.Text = True
TxtCidade.Text = True
TxtCep.Text = True
TxtDataCad.Text = True
TxtEstado.Text = True
TxtObservacao.Text = True
OptPreferencial.Enabled = True
End Sub
Sub Gravar()
TBCliente("CodigoCliente") = TxtCodigo.Enabled
TBCliente("nomecliente") = TxtNome.Text
TBCliente("enderecocli") = TxtEndereco.Text
TBCliente("cidadecli") = TxtCidade.Text
TBCliente("cepcli") = TxtCep.Text
TBCliente("datacadastro") = TxtDataCad.Text
TBCliente("estadocli") = TxtEstado.Text
TBCliente("observacaocli") = TxtObservacao.Text
TBCliente("preferencialcli") = OptPreferencial.Value
End Sub
Sub Desabilitar()
TxtCodigo.Enabled = False
TxtNome.Enabled = False
TxtEndereco.Enabled = False
TxtCidade.Enabled = False
TxtCep.Enabled = False
TxtDataCad.Enabled = False
TxtEstado.Enabled = False
TxtObservacao.Enabled = False
OptPreferencial.Enabled = False
End Sub
Sub Atualizar()
TxtCodigo.Text = TBCliente("CodigoCliente")
TxtNome.Text = TBCliente("nomecliente")
TxtEndereco.Text = TBCliente("enderecocli")
TxtCidade.Text = TBCliente("cidadecli")
TxtCep.Text = TBCliente("cepcli")
TxtDataCad.Text = TBCliente("datacadastro")
TxtEstado.Text = TBCliente("estadocli")
TxtObservacao.Text = TBCliente("observacaocli")
OptPreferencial.Value = TBCliente("preferencialcli")
End Sub
Sub Limpar()
TxtCodigo.Text = ""
TxtNome.Text = ""
TxtEndereco.Text = ""
TxtCidade.Text = ""
TxtCidade.Text = ""
TxtCep.Text = ""
TxtDataCad.Text = ""
TxtEstado.Text = ""
txtobservacxao.Text = ""
OptPreferencial.Value = False
CmdGravar.Enabled = False
CmdCancelar.Enabled = False
End Sub
Microsoft Access (VBA)
Option Compare Database
Option Explicit
'Variáveis utilizadas
Dim objConn As Database
Dim rstRecorset As Recordset
Dim strSQL As String
Set objConn = CurrentDb()
End Function
A única maneira de se efetuar uma conexão usando o método DAO é
atráves do Interpretador e Gerenciador de drivers de acesso a dados do
Windows, o ODBC. Todas as conexões disparadas a partir deste método
passam pelo interpretador de comandos ODBC e este provém o acesso a
fonte de dados em uma espécie de sistema 03 camadas.
Quando o Visual Basic passou a ser o Front End a frente de grandes bancos
como o Oracle e até mesmo quando estes grandes bancos passaram a ter
um suporte multiusuário muito maior, gigantesco. A Microsoft passou a ter
problemas com sua fonte de dados ODBC. Foi um tal de corromper banco
.MDB, carregar DLL's em memória e logo em seguida com a destruição dos
objetos de conexão (Recordset's), devolve-las destruídas. Tentou-se
remodelar a fonte, mas nem todos os desenvolvedores sabem manejar
corretamente o ODBC e criar configurações avançadas e ou Data Sources
para vinculações especiais de Dados.
A fonte de dados parecia estar com os seus dias contatos pois o DAO a
degradava a cada dia. . .
***
Não posso terminar a matéria, não me sentirei bem concluindo esta matéria
sem falar dos planos de acesso e de alguns drivers OLE DB onde o VB (Front
End), faz um pedido ou uma atualização ao banco, esse pedido é agendado
e disparado pelo método de conexão, como o ADO por exemplo. Sendo
assim, o acesso a base é feito a instrução é interpretada e caso o pedido
agendado seja disparado com instrução pura como o método Execute do
ADO, será tudo mais rápido note:
Set rsIbest2003 = cConn.Execute " SELECT NOMETABELA.CODIGO "
Se por você fez uso dos métodos do ADO, eles terão que ser decodificados
em instrução e em seguida tacados para dentro do Banco. Como a QBE
Gráfica (Query Basic Estrutuct) das Consultas do Access.Que retorna a
informação após traçar o plano de acesso do comando.
rsIbest2003 = cConn.OpenRecordset(NOMETABELA, OpenOptimist)
Um dos Driver's ODBC/OLE DB que eu posso com certeza largar o verbo e
encher a boca para falar é o Microsoft JET, ou Motor JET que todos já pelo ao
menos ouvimos falar. Ele é o driver responsavél pela conexão e
interpretação de comandos do Access.
A primeira questão que proponho é a seguinte: Porque a Microsoft criou o
JET?
Compatibilidade seria a resposta. O Microsoft Access foi projetado em cima
de um outro banco conhecido e que hoje virou apenas um simples
interpretador. O Fox Pro. O banco mais popular do mercado acompanhou em
parelelo a evolução do Fox Pro, evoluindo-se por conta deste. Todavia, os
empecilhos do mercado trouxeram a Fox Pro a falência e a completa
estagnação por parte dos grandes lobos milionários. Em suma, no final das
contas a Microsoft comprou a Fox Pro e o direito dos softwares. Comprou por
uma bagatela uma empresa mau humorada e repugnante sob o ponto de
vista profissional.
O balancete disto foi uma versão do Access 2.0 pré compilada com os
núcleos do Fox Pro. Um ambiente gráfico amigável e de fácil manejo aliado a
um poderoso banco flexível coordenados por uma mágica da equipe de Bill
Gates que sucumbiu uma dificuldade plena para interpretar as instruções do
banco Fox Pro. Como enviar dados de um software codificado em Visual
Basic com pouquissímas procedures em linguagem C como é o caso do
Access, para um software que nem mesmo eles sabiam operar totalmente;
diante de um prazo de entrega apertado e sem luxos maiores.
Para solucionar o problema criou-se o JET. O Motor de acesso para a base
Fox Pro, que futuramente se tornará um software independente no mercado.
Dynaset - O Sistema acessa determinados dados travando as tabela(s)
consultada(s). Permite alterar, incluir e deletar dados.
Snapshot - O Sistema cria uma imagem dos dados e libera as tabela(s)
consulta(s). Não permite alterar, incluir e ou deletar dados.
Quando realizamos uma consulta do Tipo Dynaset por Exemplo, o usuário
solicita os dados, o Access recebe os dados e efetua o pedido ao JET, que
independente do método usado (ADO, DAO, RDO) acessa a estrutura banco
Fox Pro, contido no arquivo .MDB, interpreta e traz em uma espécie de
pacote TCP/IP os dados para o ambiente gráfico de interação com usuário.
É importante ressaltar que não é o banco Fox Pro que está dentro do banco
.MDB do Access. Na verdade, a estrutura do banco .MDB foi projetada em
cima do antigo banco Fox Pro, pois o arquivo .MDB não se trava de um único
banco, existem inúmeras partições que propiciam ao usuário Access criar os
formulários, consultas, e até mesmo codificar montando uma aplicação
completa, que com o auxílio do pacote Develop Edition do Office
podemos até gerar um .EXE do arquivo .MDB desenvolvido.
Agora vocês conseguem entender o porquê que a Instrução SQL montada
pelo Access é tão repleta de parenteses e chaves diferente do que estamos
acostumados a aplicar no SQL Server e ORACLE, donos de driver's próprios
para conexão.