PROCURA NO BANCO DE DADOS COM O TEXTBOX

ALLAN85 17/05/2013 18:30:31
#423673
Por favor,

Preciso realizar o seguinte processo;
Tenho um cadastro de clientes, e preciso que ao digitar no textbox o codigo do cliente os demais textbox sejam preenchidos automaticamente.

Alguém consegue me ajudar por favor?
Obrigado..
OMAR2011 17/05/2013 18:48:33
#423674
Olhe isto.
Vai te ajudar.
http://www.macoratti.net/vb_fbd1.htm
Valeu.
ALLAN85 17/05/2013 20:46:57
#423676
Obrigado pela ajuda Omar, mas acho que não consegui explicar bem oque preciso..
Tipo na sua tela de produto.. preciso que se eu digitar no textbox(referente ao código do procuto) o código do produto automaticamente os dados deste produto sejam carregados nos demais textbox, isso tudo puxando direto do banco de dados.

Eu consegui fazer puxando do ListView, mas não queria ter que ir em outra tela para procurar o produto se sei o código dele entende?

Será que pode me ajudar por favor?

Obrigado..
JULIANOPAN 17/05/2013 21:22:28
#423679
o evento vc escolhe.


[ô]<<Preencher campos >>

Dim cnSQL As SqlConnection
Dim cmSQL As SqlCommand
Dim drSQL As SqlDataReader
Dim strSQL As String
Try
[ô]<< Consulta SQL >>
strSQL = [Ô]SELECT CLIENTE_ID, FISICA_JURIDICA, NOME_RAZAO, NOME_FANTASIA, CNPJ_CPF, [Ô] _
& [Ô] INSCR_ESTADUAL, ENDERECO, COMPLEMENTO, BAIRRO, CEP, TIPO_TELEFONE1, TELEFONE1, RAMAL1, TIPO_TELEFONE2, TELEFONE2, [Ô] _
& [Ô] RAMAL2, TIPO_TELEFONE3, TELEFONE3, RAMAL3, EMAIL, SKYPE, VOIP, HOME_PAGE, CONTATO, [Ô] _
& [Ô] ATIVO_SN, DATA_CADASTRO, DATA_ALTERACAO, EMPRESA_ID, OBSERVACAO, END_NUMERO, UF_ID, CIDADE_ID, CESTA_ID [Ô] _
& [Ô] FROM CLIENTE [Ô] _
& [Ô] WHERE CLIENTE_ID = [Ô] & O QUE VC QUISER


cnSQL = New SqlConnection(strConn)
cnSQL.Open()

cmSQL = New SqlCommand(strSQL, cnSQL)
drSQL = cmSQL.ExecuteReader(CommandBehavior.SingleRow Or CommandBehavior.CloseConnection)

With drSQL

[ô]<< Verificador de linhas no datareader >>
If .HasRows Then

[ô]<< Iniciador da leitura >>
.Read()
Me.ICodigo.Text = Format(.GetValue(0), [Ô]000000[Ô])
Me.CTipoPessoa.Text = .GetString(1).Trim
If Me.CTipoPessoa.Text = [Ô]JURIDICA[Ô] Then
Me.TCpf.Mask = [Ô]99,999,999/9999-99[Ô]
ElseIf Me.CTipoPessoa.Text = [Ô]FISICA[Ô] Then
Me.TCpf.Mask = [Ô]999,999,999-99[Ô]
Else
Me.TCpf.Mask = [Ô][Ô]
Me.TRg.Mask = [Ô][Ô]
End If
Me.TNome.Text = .GetString(2).Trim
Me.TFantasia.Text = .GetString(3).Trim
Me.TCpf.Text = .GetString(4).Trim
Me.TRg.Text = .GetString(5).Trim
Me.TEndereco.Text = .GetString(6).Trim
Me.TComplemento.Text = .GetString(7).Trim
Me.TBairro.Text = .GetString(8).Trim
Me.TCEP.Text = .GetString(9).Trim
Me.CTipo1.Text = .GetString(10).Trim
Me.TTelefone1.Text = .GetString(11).Trim
Me.TRamal1.Text = .GetValue(12)
Me.CTipo2.Text = .GetString(13).Trim
Me.TTelefone2.Text = .GetString(14).Trim
Me.TRamal2.Text = .GetValue(15)
Me.CTipo3.Text = .GetString(16).Trim
Me.TTelefone3.Text = .GetString(17).Trim
Me.TRamal3.Text = .GetValue(18)
Me.TEmail.Text = .GetString(19).Trim

Me.TSkype.Text = .GetString(20).Trim
Me.TVoip.Text = .GetString(21).Trim
Me.THomePage.Text = .GetString(22).Trim
Me.TNomeContato.Text = .GetString(23).Trim

Me.CAtivo.Text = .GetString(24).Trim
Me.DDtCad.Text = Format(.GetValue(25), [Ô]dd/MM/yyyy[Ô])
Me.DDtAlt.Text = Format(.GetValue(26), [Ô]dd/MM/yyyy[Ô])
Me.TEmpresa.Text = .GetValue(27)
Me.TObservacao.Text = .GetString(28).Trim
Me.TEndNo.Text = .GetString(29).Trim

[ô]<< Fecha o DataReader e a conexao >>
.Close()
End If
End With

[ô]<< fecha e limpa objetos >>
cnSQL.Close()
cmSQL.Dispose()
cnSQL.Dispose()

Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, [Ô]Erro:[Ô])
Exit Sub
End Try
ALVAROVB2009 17/05/2013 21:41:18
#423680
Resposta escolhida
Pelo que eu entendi vc qr ir digitando e ele ir posicionando automaticamente, se for isso, basta vc colocar o código de pesquisa no evento Chance do TEXT, assim ele fara isso
ALLAN85 17/05/2013 22:06:38
#423681
Obrigado a todos que estão tentando me ajudar..
Oque preciso é digitar o código do cliente, e que os restante dos texbox sejam preenchidos..
Sei que esta errado o exemplo abaixo, mas é +- isso que precisava fazer..

Private Sub form_load()
If Text11.Text = codigo Then
Text1.Text = rs(1)
Text4.Text = rs(2)
End If
End Sub

OBS: TEXT11 é o texbox do codigo.
ALVAROVB2009 17/05/2013 23:00:02
#423683
ALLAN85 foi isso mesmo que te passei
Vai ficar assim

Private Sub Text11_Change()
set rs = new adodb.recordset
rs.open ([Ô]Select * from seutabela where codigotabela = [Ô] & text11.text)
If not rs.eof Then
Text1.Text = rs(1)
Text4.Text = rs(2)
End If
End Sub

Fica assim, desse jeito cada vez que alguém digitar alguma coisa ele vai fazer a busca, e se por acaso não achar, ele vai retornar um vazio, motivo de eu ter colocado o IF not rs.eof
Testai qqer coisa da um toque
ALLAN85 17/05/2013 23:32:23
#423684
Boa noite Alvaro vlw pela ajuda ai amigo..

Mas infelizmente não deu certo.. Não puxou nada, como se não tivesse feito a consulta entende..

Tirei o If pra testar tmb e não adiantou..
Ta complicado..
Vlw
GANDA.NICK 18/05/2013 09:37:56
#423688
Olá,

Qual banco vc usa? usa DAO ou ADO?

Coloque aqui o code que vc usa para gravar os dados para o banco...
ALLAN85 18/05/2013 10:07:19
#423691
Ganda uso, ADO..

Fiz um teste criei um novo form e usei o seguinte code;
Private Sub Text1_LostFocus()

If Text1.Text <> [Ô][Ô] Then
Set rs = New ADODB.Recordset
rs.Open ([Ô]SELECT * FROM est_pro where codigo = [Ô] & Text1.Text)
If Not rs.EOF Then
Text2.Text = rs(2)
[ô]Text3.Text = rs([Ô]3[Ô])
End If
rs.Close
End If
End Sub

Dai ele rodou, porém deu a seguinte mensagem de erro;
Run-time error [ô]3709[ô]:
A conexão não pode ser usada para realizar esta operação. Ela está fechada ou é invalida para este contexto.

Sabe oque que é isso?

Obrigado
ALLAN85 18/05/2013 10:15:31
#423692
Pessoal obrigado a todos que me ajudarão.. Obrigado mesmo.. consegui fazer funfar aqui..
Fiz o seguinte;

Private Sub Text1_LostFocus()

If Text1.Text <> [Ô][Ô] Then
Set rs = New ADODB.Recordset
SQL = ([Ô]SELECT * FROM est_pro where codigo = [Ô] & Text1.Text)
Set rs = Conexao.Execute(SQL)
If Not rs.EOF Then
Text2.Text = rs(1)
Text3.Text = rs(2)
End If
rs.Close
End If
End Sub

Página 1 de 2 [11 registro(s)]
Tópico encerrado , respostas não são mais permitidas