PROCURA NO BANCO DE DADOS COM O TEXTBOX
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..
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..
Olhe isto.
Vai te ajudar.
http://www.macoratti.net/vb_fbd1.htm
Valeu.
Vai te ajudar.
http://www.macoratti.net/vb_fbd1.htm
Valeu.
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..
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..
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
[ô]<<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
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
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.
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.
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
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
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
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
Olá,
Qual banco vc usa? usa DAO ou ADO?
Coloque aqui o code que vc usa para gravar os dados para o banco...
Qual banco vc usa? usa DAO ou ADO?
Coloque aqui o code que vc usa para gravar os dados para o banco...
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
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
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
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
Tópico encerrado , respostas não são mais permitidas