Ir para conteúdo

Arquivado

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

Cristian Abadi dos Santos

Linguagem Visual Basic

Recommended Posts

Você pode fazer isso usando o evento Keypress da textbox. Assim que o usuário apertar uma tecla (você precisará verificar qual é a tecla que o usuário apertou, geralmente você vai querer que seja o ENTER) e então fazer a consulta no banco de dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tabela Cliente:

Código

RazaoSocial

Cnpj

 

Abaixo o código que eu estou usando para text box

 

Private Sub TxtCodFornecedor_entradas_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TxtCodFornecedor_entradas.KeyPress

 

 

Dim Procurar As String

Dim Inserir As String

 

Procurar = "SELECT * from Clientes where Código = " & TxtCodFornecedor_entradas.Text & "and RazaoSocial=" & LblFornecedor_entradas.Text

 

Inserir = "INSERT * from Clientes where RazaoSocial = " & LblFornecedor_entradas.Text

 

Procurar += Inserir

 

End Sub

 

O que estou fazendo de errado?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você não está verificando a tecla pressionada, ele vai disparar este evento para tudo que o usuário digitar verifique se a tecla pressionada é "ENTER":

 

https://www.google.com.br/search?q=check+enter+press+visual+basic&ie=utf-8&oe=utf-8&gws_rd=cr&ei=c-YbVYn1LMnCggS07IIo

 

Coloque todo este seu código dentro do if da tecla enter.

 

Outro problema que notei é que você não faz nenhuma consulta no banco, só monta duas strings. Você precisa executá-las no banco de dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mano, desculpa encomodar mas nao consegui ainda. Olha abaixo o codigo como ficou.

 

Private Sub TxtCodFornecedor_entradas_KeyPress(sender As Object, e As KeyPressEventArgs) Handles TxtCodFornecedor_entradas.KeyPress
conect_banco.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=Dados1.accdb;Jet OLEDB:System database=system,mdw;"
If e.KeyChar = ("Enter") Then
Dim Procurar As String
Dim Inserir As String
Procurar = "SELECT * from Clientes where Código = " & TxtCodFornecedor_entradas.Text & "and RazaoSocial=" & LblFornecedor_entradas.Text
Inserir = "INSERT * from Clientes where RazaoSocial = " & LblFornecedor_entradas.Text
Procurar += Inserir
End If
End Sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente como

If CType(e.KeyChar,Keys) = ChrW(Keys.Enter) Then

Veja que no seu código você não está fazendo nada ainda, Você apenas definiu strings, você precisa executar essas queries no banco de dados, para isso você vai usar o objeto DataTable ou DataReader, você já está familiarizado com isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, ai você vai ter que usar um DataAdapter e um DataTable, não é necessário nem o dataSet nem o DataRow.

 

Use algo do tipo:

Dim Conn as new OleDbConnection("ConnectionString")
Dim Com as new OleDbCommand("Comando SELECT")
Dim da as new OleDbDataAdapter(com)
Dim dt as new DataTable

Conn.Open()

da.fill(dt)

Conn.close()

Ai você pode usar o dt.rows(indice)(coluna) para pegar o dado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia. Fiz o seguinte codigo abaixo e deu certo para fazer a consulta. So nao consegui carregar os dados da textbox.

 

 

Dim conexao As New OleDbConnection
Dim comandos As New OleDbCommand
Dim consulta As OleDbDataReader
Dim DT As New DataTable

conexao.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=Dados1.accdb;Jet OLEDB:System database=system,mdw;"
conexao.Open()
comandos.CommandText = "SELECT * from Clientes where CNPJ='" + TxtCnpjFornecedor_compras.Text + "'"
comandos.Connection = conexao
consulta = comandos.ExecuteReader()

If (consulta.HasRows) Then
'falta o código para inserir a RazaoSocial do cliente no text box = (TxtFornecedor_compras.text)
Else
MsgBox("Cliente ou fornecedor não encontrado!")
End If

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso.

Tenho a tela cadastro de clientes, e as tabelas cnpj e RazaoSocial

Na tela de Compra tem a 'textbox' onde digito o cnpj e tem outra 'textbox' que quero que apareca a Razao Social do cliente quando digito o numero do cnpj. No cogido que fiz ja faz consulta e se o cliente nao esta cadastradado mostra a 'msgbox' de erro. Porem se o cliente esta cadastrado nao consigui criar o codigo para buscar essas informação.


Se poder. Tenho skype: Cristian.chs ou email: cristian_badi@hotmail.com

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara você está pensando na lógica errada. Você terá de fazer um evento no textbox do cnpj para ler um cnpj digitado quando usuário apertar a tecla ENTER (isso é o evento KeyPress, ou KeyDown). Você vai fazer a mesma coisa que esse código que você colocou, ou então usar o exemplo que eu dei acima. Basta você igualar a dt.rows(0)("Coluna").toString() no seu Text do textbox de razão social.

 

Você faz uma verificação antes só para saber se essa posição está preenchida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia

 

Cara, tentei de varias formas resolver este meu problema e não consigui, toda vez que compilo o programa e do enter na textbox ele da erro.

Sou ainda inexperiente nisso. Ja faz uns 3 anos que estudo essa programação e ainda estou leigo. Se poder me ajudar me indicando algum curso ou livro já fico grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, cursos você pode tentar uma série de escolas online e offline. Mas você precisa tentar pesquisar o máximo possível, programação é 90% pesquisa, você já pesquisou essa sua dúvida?

Compartilhar este post


Link para o post
Compartilhar em outros sites

tentei montar todos os exemplos que voce me indicou e nada deu certo. Provavel que eu tenha colocado alguma coisa errada.

Montei um botao para pesquisa, quando faço a pesquisa ele funciona se o cnpj nao tiver cadastrado ele avisa, se o cliente possui cadastro ele nao inseri a razao do cliente na text box. Meu maior problema é nos comandos se inserção

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara eu não estou entendendo o que você quer fazer. Você disse que precisava pesquisar automaticamente dados quando o usuário digitasse na textbox, mas não tem nada de inserção nisso...

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.