Ir para conteúdo

POWERED BY:

Arquivado

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

NarcisoRN

Como auto-completar campos apos uma busca

Recommended Posts

Pessoal,Estou dando os primeiros passos no Visual Basic e gostaria da ajuda de vocês. Estou criando a titulo de aprendizagem, um cadastro de clientes, cujo campo chave, é o CPF do mesmo. O que eu queria fazer e não estou conseguindo, é... ao incluir um novo cliente e apos digitar o CPF do mesmo, o sistema fizesse uma busca na tabela e caso o cliente ja existisse, todos os campos do formulario, fossem preenchidos com as informações do mesmo se não houvesse cliente com aquele CPF, então o cursor saltaria para o proximo campo e eu continuaria a incluir o restante das informações. Se alguem tiver algum exemplo ou puder me dar alguma dica, eu ficaria muito grato. Obrigado a todos. Ah!! o VB que eu estou estudando é a versão 2005 Express, mas se alguem tiver algum exemplo em outra versão, eu adapto por aqui. Obrigado.Narciso

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boas NarcisoRN,

 

Faz da seguinte maneira:

 

------> Tem que criar um Modulo e coloque o seguinte codigo:

 

Public Const g_str_ConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Local da Base de Dados;Persist Security Info=False"

 

-------> Na text Box onde vai fazer a consulta, coloca o seguinte codigo

 

Private Sub Text1_LostFocus()

 

Dim Conjunto_de_Registos As ADODB.Recordset ' Definição de uma variavel para ter o conjunto dos registos

Set Conjunto_de_Registos = New ADODB.Recordset ' Atribuo essa variavel a um NOVO método do ADODB

 

 

 

consulta = "SELECT * from Tabela"

 

consulta = "select * from Tabela where (Nome = '" & text1 & "')"

 

Conjunto_de_Registos.Open consulta, g_str_ConnectionString, adOpenForwardOnly, adLockReadOnly

 

 

If Conjunto_de_Registos.EOF Then

 

MsgBox "O cliente nao existe", vbCritical ' Se o nome nao existir e mostrada uma mensagem

 

Else ' Significa que o cliente existe entao os campos vao ser preenchidos com os dados que estão na Base de Dados

 

Text1.Text = CStr(Conjunto_de_Registos.Fields.Item("Morada"))

Text2.Text = CStr(Conjunto_de_Registos.Fields.Item("Telefone"))

Text3.Text = CStr(Conjunto_de_Registos.Fields.Item("B.I"))

 

End If

 

Conjunto_de_Registos.Close

 

Set Conjunto_de_Registos = Nothing

 

End Sub

Conclusão: O seguinte codigo faz o seguinte: quando o cursor do rato deixa de estar na text1 o programa vai a base de dados fazer uma consulta, e se o nome existir os campos do programa serao preechidos com os valores que estiverem na Base de Dados , se o nome nao existir será apresentada um mensagem a dizer que o " Cliente nao existe".

 

Nota: Voce com este codigo pode fazer muitas coisas. Atenção o codigo tem que se adaptar ao seu programa.

 

 

 

ESPERO TER AJUDADO,

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.