Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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.
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
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?
Então, eu queria um código onde eu colocasse uma série de 6 dígitos(numéricos) e o sistema mostrasse os dados cadastrados daquela funcionária já cadastrada no MySQL.
Novamente, o procedimento é o mesmo que eu te disse ali encima, qual é o problema?
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 ?
Este seu SQL:
select * funcionarias from rfidcode
Está estranho, não está faltando um where ai?
Boa noite.
Então como ficaria a exibição no formato do seu código ?
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.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
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.
Aaaa...ok.
Valeu.
Adicione uma verificação no evento TextChanged, quando o tamanho do texto for 6, então você pode enviar um Char 13 (enter)