Access–Buscando dados com a função DLOOKUP
Uma das principais dúvidas do usuário de access é como fazer para buscar dados vinculados a um determinado valor, com preenchimento automático de outros campos, quando este valor é digitado em um formulário, como no seguinte exemplo:
Vamos imaginar que sua empresa possua um banco de dados com todos os clientes cadastrados, e cada cliente possui um código único, entretanto há a necessidade de controlar as compras de cada cliente, diante disso, você decide criar uma tabela e um formulário para entrar com os dados de cada movimentação.
A necessidade é simplificar o processo e evitar que dados sejam digitados incorretamente, sendo assim, seria ideal que ao digitar o código do cliente, todos os outros dados fossem preenchidos automaticamente como no exemplo acima.
Levando em consideração que a primeira tabela tem o nome de clientes, e os camps são de texto teremos o código abaixo:
Private Sub cod_cliente_BeforeUpdate(Cancel As Integer)
Me.nome = DLookup("nome", "clientes", "codigo =’" & Me.cod_cliente & "’")
Me.email = DLookup("email", "clientes", "codigo =’" & Me.cod_cliente & "’")
Me.cidade = DLookup("cidade", "clientes", "codigo =’" & Me.cod_cliente & "’")
Me.estado = DLookup("estado", "clientes", "codigo =’" & Me.cod_cliente & "’")
Me.telefone = DLookup("telefone", "clientes", "codigo =’" & Me.cod_cliente & "’")End Sub
Para entender a lógica da função:
Me.nome = DLookup("nome", "clientes", "codigo =’" & Me.cod_cliente & "’")
o campo nome do formulário atual será preenchido automaticamente atendendo a seguinte condição apresentada pela função dlookup: preencher com o valor do campo nome da tabela clientes, desde que o valor do campo cod_cliente desta tabela seja igual ao campo codigo da tabela clientes