Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Daniel Dal-Ri

Dlookup/ Dpesquisa

Recommended Posts

Hua,,,Dae galera, seguinte por incrivel q pareça, programo vb c e Delphi Conheço padrões ANSI e pôpôpÔporem num to conseguindo faze com que os campos se "auto-preencham" no access fiz um comando select porém notei q não preenchia só listava em uma listbox dae pesquisei e achei o tal do Dlookup q na real é dpesquisa...suahduHUSAHDUhauhduHUHSADUhQUÉM,então é o seguinte fiz um exemplo e qria q vcs me ajudassem....tenho 2 tabelastabela1codnometeltabela2codigocodnometelqria digitar o cod e ele auto preenchesse o nome e o tel na tabela2.PS:se o cod num contiver ja cadastrado na tabela 2 ele cadastra, se ja tiver ele carrega...intenderam?se ele ja esta cadastrado bloqueia as informações (tel e nome) para q não haja alterações...qualqeh coisa msndanieldalri@gmail.com...éH iSsO....Cambio Desligo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Prezado Daniel:Antes de mais nada, a estrutura de suas tabelas 1 e 2 são assim mesmo ou restringiu os demais campos na intenção de resumir o problema? É que ambas são praticamente idênticas... De qualquer modo, segue uma solução que é "disparada" a partir do evento "AfterUpdate" da caixa de texto reservada para a digitação do cod: Dim db As Database Dim rst1 As Recordset Dim rst2 As Recordset Dim lngCod As Long Dim strCriterio1 As String Dim strCriterio2 As String Dim strNome As String Dim strTelefone As String If IsNull(txtCodigo) Or txtCodigo = "" Then DoCmd.Beep MsgBox "É necessário especificar o código.", 48, "Banco de Dados" txtCodigo.SetFocus Exit Sub Else Set db = CurrentDb strCriterio1 = "[Cod] = " & txtCodigo & "" Set rst1 = db.OpenRecordset("Tabela2", dbOpenDynaset) rst1.FindFirst strCriterio1 If rst1.NoMatch Then strCriterio2 = "[Cod] = " & txtCodigo & "" Set rst2 = db.OpenRecordset("Tabela1", dbOpenDynaset) rst2.FindFirst strCriterio2 lngCod = rst2.Fields(0) strNome = rst2.Fields(1) strTelefone = rst2.Fields(2) db.Execute "INSERT INTO Tabela2 (Cod, Nome, Telefone) VALUES (" & lngCod & ", """ & strNome & """, """ & strTelefone & """)" rst2.Close Else DoCmd.Beep MsgBox "Nome já castrado.", 48, "Banco de Dados" txtNome2 = rst1.Fields(2) txtTelefone2 = rst1.Fields(3) End If rst1.Close db.Close Set db = Nothing End IfEu estou presumindo que os campos "Cod" da Tabela1 e "Cod" da Tabela2 devem apresentar o mesmo valor, estando declarados como Autonumeração e Inteiro Longo, respectivamente, e que no formulário, além de uma caixa de texto para o usuário digitar o "Cod", existam duas outras (as quais chamei de "txtNome" e "txtTelefone") e que serão preenchidas automaticamente ("carregadas") se o registro já existir.Espero que isso ajude.Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.