Ir para conteúdo

Arquivado

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

Roberto S. Santos

vb6, Consulta Dinâmica.

Recommended Posts

Boa tarde amigos programadores.

Estou tendo uma dificuldade ao qual eu não acho um meio de resolver.

Olha, eu preciso que ao digitar os 6 dígitos numéricos no ( text1.text ) o sistema busque os dados referente a este dígito, exibindo no mesmo form = ( Form 1 ) sem que eu precise clicar no botão enter...seja automático.

 

Dados :

 

Base de Dados : loja - MySQL 5.2

tabela : funcionárias

acesso : adodc1

texts : id, nome, sobrenome, RG, setor.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, vou explicar de outra forma.
Sabe aquele sistema de supermercado quando você passa o produto e ele faz a ( busca dinâmica)...é isso que eu queria.

Ele buscar os dados do produto pelo código que eu colocar e me mostre os dados da funcionária.

Estou usando ADO com MySQL 5.2

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, faça a função acima, e no evento do Form OnKeyPress você verifica se a tecla é a enter (Ou então você pode usar um trigger para uma função [o que é muito mais fácil]) e executar sua função de banco de dados lá.

 

Não estou entendendo sua dificuldade... Qual é a parte que você não esta conseguindo fazer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, já entendi.

Valeu mesmo.

 

 

Então, eu consegui fazer com que o sistema identifique o código que corresponde ao usuário.

Mas agora preciso exibir os dados e não sei como.

Veja o que fiz...

IDENTIFICA USUÁRIO :

Set mc = New ADODB.Connection

mc.ConnectionString = "Driver={MySQL ODBC 5.2a Driver};Server = localhost ; database = condominios ; user =root; password =; option = 3306;"

mc.Open

Adodc1.RecordSource = "select * from funcionarias where rfidcode = '" + Text1.Text + "'"

If (Text1.Text = Adodc1.Recordset.Fields("rfidcode")) Then

dados_print

If Adodc1.Recordset.EOF Then

Else

MsgBox "Não EXISTE ESSA cadastro com Informação! ", vbInformation, "Consulta"

Text1.SetFocus

End If

End If

End If

 

-----------------------------------------

EXIBIR USUARIO

 

Public Sub dados_print()

Set mc = New ADODB.Connection

mc.ConnectionString = "Driver={MySQL ODBC 5.2a Driver};Server = localhost ; database = condominios ; user =root; password =; option = 3306;"

mc.Open

Dim sql As String

Set rs = New ADODB.Recordset

sql = "select * funcionarias from rfidcode"

rs.Open sql, mc, adOpenForwardOnly, adLockReadOnly

Text2.Text = rs!sobrenome

Text2.Text = rs!nome

Text5.Text = rs!sobrenome

End Sub

 

Ai ele não mostra nada...pode me ajudar ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, se você está pegando um ID para selecionar um funcionário, independente de como ele é, a query deveria retornar apenas um registro, deveria ser algo como:

SELECT * FROM FUNCIONARIAS WHERE RFID = <ID>

O problema é que sua função dados_print, não recebe nenhum parâmetro, você está refazendo todo o select, passe seu recordset como parâmetro para a função assim você pode usar o mesmo conjunto de dados que você já tem, ou seja, você passa pelo seu próprio recordset [inline]Adodc1.RecordSource [/inline] para poder exibir os dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu, agora entendi...valeu mesmo.

Deus te abençoe.

 

 

Agora ele não mostra os dados e só pesquisa o primeiro codigo da funcionaria na tabela...o que pode estar acontecendo ?...como resolver ?

 

veja o meu video que postei por favor.

 

https://www.youtube.com/watch?v=EWEjR-XNILc&feature=youtu.be

 

 

Boa tarde.

O video deu erro.

Eu desenvolvi em VB6 e ele só busca e identifica somente o primeiro registro=(codigo do usuário), não sei porque.

Usei o sistema de login em vb.

Mesmo assim ele não buscou identificar outros dois códigos de usuário.

 

 

Veja que aqui eu programei via código direto pra que identifique quem esta usando o código específico..

Da muito trabalho, por isso queria fazer isto via acesso MySQL com VB6.

Eu não consegui por isso preciso saber se existe algo que eu possa fazer.

O codigo lá de cima não funcionou.

Usei um sistema login em VB6 e ele só buscou o primeiro usuário, não identificou os outros dois que estao cadastrados na tabela.

Vejam o video que fiz.

 

O usuario passa o cartão e o sistema identifica pelo codigo.

Como fazer com que o sistema identifique o cartão e mostre os dados da pessoa ?

Usei um codigo de login mas ele só buscou o primeiro codigo no registro MySQL.

O text1.text é o responsável pela identificação do codigo do cortao = funcionaria

 

Veja meu video

https://www.youtube.com/watch?v=bBOKOxUkDgo&feature=youtu.be

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se o cartão estiver ligado a um só funcionário, quando você usa o where ele filtra apenas o unico registro que existe para este cartão. Um sistema de login não pode ter mais de um funcionário cadastrado no mesmo cartão, a não ser que tenha uma outra lógica.

 

Mas, em geral, não estou entendendo o seu problema. Por favor explique bem claramente, coloque trechos de códigos e o retorno que você está tendo.

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.