MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Ajuda com senha

    Compartilhe

    jorgek
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 72
    Registrado : 08/12/2012

    [Resolvido]Ajuda com senha

    Mensagem  jorgek em Qua 18 Dez 2013, 10:57

    Bom dia, mestres!

    Venho mais uma vez pedir a ajuda de vocês.  Smile 
    É o seguinte:
    Tenho uma tabela de funcionários, onde eles possuem um ID e o nome, é claro.
    Tenho também uma tabela de senha para uma rotina onde a mesma possui dois campos: "ID" e "Senha". Onde ID é o ID do funcionário e
    a senha é uma que foi cadastrada.
    Eu gostaria do seguinte:
    Quando uma pessoa digitar seu ID em uma caixa de texto do formulário e após atualizar, pedir senha.
    Se a senha digitada for igual a senha q está na tabela de senha, ele preenche uma caixa de texto com o nome do funcionário.

    Desde já agradeço a ajuda de todos!

    No aguardo.


    Última edição por jorgek em Qui 19 Dez 2013, 10:58, editado 1 vez(es)

    Marco Messa
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 283
    Registrado : 28/06/2010

    Re: [Resolvido]Ajuda com senha

    Mensagem  Marco Messa em Qua 18 Dez 2013, 11:34

    Mas porque fazer pedir a senha só após atualizar o ID?
    Não seria mais fácil pedir o ID e a senha e só depois buscar o nome dele?

    De qualquer maneira você pode usar uma simples função de DLookUp para isso.

    Veja neste link sobre como utilizar.

    Flw  Smile 


    .................................................................................
    Tea with me that I book your face [Você precisa estar registrado e conectado para ver esta imagem.]

    jorgek
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 72
    Registrado : 08/12/2012

    Re: Ajuda com senha

    Mensagem  jorgek em Qua 18 Dez 2013, 13:30

    E como eu busco o nome dele, Marco?

    Marco Messa
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 283
    Registrado : 28/06/2010

    Re: [Resolvido]Ajuda com senha

    Mensagem  Marco Messa em Qua 18 Dez 2013, 13:36

    Exemplo:

    Código:
    DLookup("CampoNome", "TabelaUsuario", "ID = " & CampoDoFormID.Value & " And Senha = '" & CampoDoFormSenha.Value & "'")


    .................................................................................
    Tea with me that I book your face [Você precisa estar registrado e conectado para ver esta imagem.]

    jorgek
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 72
    Registrado : 08/12/2012

    Re: Ajuda com senha

    Mensagem  jorgek em Qua 18 Dez 2013, 16:15

    Então, Marco.

    Criei dois campos: um para inserir ID e outro para inserir a senha e após atualizar, fiz um teste de verificação com Dlookup como:

    If DLookup("id", "Tb_SenhaLogistica", "ID = " & Txt_ID.Value & " And Senha = '" & Txt_Senha.Value & "'") Then
    MsgBox "Bingo!"
    Else
    MsgBox "Não!"
    End If

    Ele retorna o seguinte:
    "Tipos de dados incompatíveis na expressão de critério"    Crying or Very sad

    jorgek
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 72
    Registrado : 08/12/2012

    Re: Ajuda com senha

    Mensagem  jorgek em Qua 18 Dez 2013, 16:25

    Acho que descobri o que é: as aspas no ID.
    Vou verificar aqui.

    Marco Messa
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 283
    Registrado : 28/06/2010

    Re: [Resolvido]Ajuda com senha

    Mensagem  Marco Messa em Qua 18 Dez 2013, 16:26

    Qual é o tipo de dados dos campos ID e Senha na tabela?
    Texto, Número?


    .................................................................................
    Tea with me that I book your face [Você precisa estar registrado e conectado para ver esta imagem.]

    Marco Messa
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 283
    Registrado : 28/06/2010

    Re: [Resolvido]Ajuda com senha

    Mensagem  Marco Messa em Qua 18 Dez 2013, 16:28

    Eu apenas deduzi que o ID era um campo numérico e o de senha que era texto.

    Então eu concatenei as aspas simples ( ' ) no critério de senha para indicar para o DLookUp que era um campo de texto.


    .................................................................................
    Tea with me that I book your face [Você precisa estar registrado e conectado para ver esta imagem.]

    jorgek
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 72
    Registrado : 08/12/2012

    Re: Ajuda com senha

    Mensagem  jorgek em Qua 18 Dez 2013, 16:37

    Número, número!

    jorgek
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 72
    Registrado : 08/12/2012

    Re: Ajuda com senha

    Mensagem  jorgek em Qua 18 Dez 2013, 16:48

    Agora está dando "Uso de nulo inválido!"

    Segue código:

    If (DLookup(ID, "Tb_SenhaLogistica", "ID = " & Txt_ID & " And Senha = " & Txt_Senha & "")) Then
    MsgBox "Bingo!"
    Else
    MsgBox "Não!"
    End If

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8907
    Registrado : 04/11/2009

    Re: [Resolvido]Ajuda com senha

    Mensagem  JPaulo em Qua 18 Dez 2013, 17:00

    Um pitaco que espero não levarem a mal;

    Tudo o que é feito à pressa, saí mal e se saír bem é um milagre...

    Repare que nem as aspas duplas você colocou no ID

    Faça o teste;
    Código:
    Dim x As Integer

    x = Nz(DLookup("ID", "Tb_SenhaLogistica", "ID = " & Nz(Me.Txt_ID.Value, 0) & " And Senha = " & Nz(Me.Txt_Senha.Value, 0) & ""), 0)

        If x > 0 Then
            MsgBox "Bingo!"
            Else
            MsgBox "Não!"
        End If


    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    Marco Messa
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 283
    Registrado : 28/06/2010

    Re: [Resolvido]Ajuda com senha

    Mensagem  Marco Messa em Qua 18 Dez 2013, 17:08

    Verifique se quando o código executa, existe algum campo que está nulo.

    Como seus dois campos são números, faça da seguinte maneira:

    Código:

    If (DLookup(ID, "Tb_SenhaLogistica", "ID = " & Txt_ID.Value & " And Senha = " & Txt_Senha.Value)) Then
        MsgBox "Bingo!"
    Else
        MsgBox "Não!"
    End If


    .................................................................................
    Tea with me that I book your face [Você precisa estar registrado e conectado para ver esta imagem.]

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8907
    Registrado : 04/11/2009

    Re: [Resolvido]Ajuda com senha

    Mensagem  JPaulo em Qua 18 Dez 2013, 17:11

    Opa Marco, essa foi mau...

    Então onde estão as aspas duplas no ID, o DLookup não necessita ?


    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    Marco Messa
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 283
    Registrado : 28/06/2010

    Re: [Resolvido]Ajuda com senha

    Mensagem  Marco Messa em Qua 18 Dez 2013, 17:16

    JPaulo,

    As aspas duplas são necessárias pra criar o parâmetro Criteria do DLookUp, então necessita da maneira que eu coloquei e também da maneira que você colocou, mas não precisa das aspas simples pois não precisamos indicar que é um valor de texto ou data.


    jorgek,

    O JPaulo colocou o Nz pra evitar que quando tenha um valor nulo no campo, ele não dê erro, mas não traz nada. Utilize pra ver se resolve seu problema.


    .................................................................................
    Tea with me that I book your face [Você precisa estar registrado e conectado para ver esta imagem.]

    Marco Messa
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 283
    Registrado : 28/06/2010

    Re: [Resolvido]Ajuda com senha

    Mensagem  Marco Messa em Qua 18 Dez 2013, 17:31

    Ah jorgek, creio que o erro também possa estar no primeiro parâmetro do DLookUp, agora entendi o que quis dizer JPaulo.
    If (DLookup(ID, "Tb_SenhaLogistica", "ID = " & Txt_ID & " And Senha = " & Txt_Senha & "")) Then

    O Parâmetro ID que você passou precisa ser entre aspas duplas, porque é uma string indicando o nome do campo que deve ser retornado.

    E também deve-se verificar o valor de retorno no If, pois não retorna um Boolean.

    Juntando o que o JPaulo fez com algumas alterações, fica assim:

    Código:

    Dim Nome As String

    Nome = Nz(DLookup(ID, "Tb_SenhaLogistica", "ID = " & Txt_ID.Value & " And Senha = " & Txt_Senha.Value), "")

    If Nome <> "" Then
        MsgBox "Bingo!"
    Else
        MsgBox "Não!"
    End If


    .................................................................................
    Tea with me that I book your face [Você precisa estar registrado e conectado para ver esta imagem.]

    jorgek
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 72
    Registrado : 08/12/2012

    Re: Ajuda com senha

    Mensagem  jorgek em Qua 18 Dez 2013, 17:33

    Consegui!!!
    Muito obrigado pela ajuda, Marco!  Smile 

    Marco Messa
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 283
    Registrado : 28/06/2010

    Re: [Resolvido]Ajuda com senha

    Mensagem  Marco Messa em Qua 18 Dez 2013, 17:46

    De nada.

    Não esqueça de colocar como resolvido e indicar qual post te ajudou.


    .................................................................................
    Tea with me that I book your face [Você precisa estar registrado e conectado para ver esta imagem.]

    jorgek
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 72
    Registrado : 08/12/2012

    Re: Ajuda com senha

    Mensagem  jorgek em Qua 18 Dez 2013, 18:07

    Poxa pessoal, nem havia atualizado a tela quando respondi que consegui, quebrando a cabeça aqui.
    Mas irei fazer testes com os códigos propostos e com certeza irei utilizá-los.
    Muito obrigado Marco e JPaulo!!!

    Segue o que fiz:

    If DLookup(ID, "Tb_SenhaLogistica", "ID = " & Txt_ID.Value & " And Senha = " & Txt_Senha.Value & "") Then
    MsgBox "Bingo!"
    FuncStatusEntr = DLookup("Nome", "Tb_Funcionario", "[ID Func] = " & Txt_ID.Value & "") 'Ainda pegando o nome do funcionário
    Else
    MsgBox "Não!"
    DoCmd.Close
    End If

    Aproveitando, como faço para colocar barra de código? rs

      Data/hora atual: Sex 09 Dez 2016, 09:39