MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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


2 participantes

    [Resolvido]Comparar campo do formulário com uma tabela não vinculada.

    avatar
    flbaena
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 26/09/2013

    [Resolvido]Comparar campo do formulário com uma tabela não vinculada. Empty [Resolvido]Comparar campo do formulário com uma tabela não vinculada.

    Mensagem  flbaena 20/6/2015, 23:38

    Boa noite.
    Antes de mais nada, eu procurei bastante no fórum, mas apesar de achar algo próximo do que eu quero, ainda não consegui resolver o meu problema que parece simples, porem complicado pra mim.

    Tenho um formulário "FLogin" com o campo não acoplado "cbxLogin".
    tenho uma tabela "Usuario" com o campo "Login" (chave), um campo "Ativo"(Sim/Nao), e o campo "Cod"(Numeração automatica).


    Gostaria que o access comparasse a informação digitada com a tabela, e caso o login informado estivesse marcado como "Não", me retornaria uma mensagem e que fosse impedido de continuar.

    É um controle de acesso que achei, porem estou tentando acrescentar um pouco de segurança, já que vários usuários irão utilizar.

    Desde já agradeço a ajuda e espero ter sido bem claro na minha explicação.
    biligo
    biligo
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 228
    Registrado : 10/04/2014

    [Resolvido]Comparar campo do formulário com uma tabela não vinculada. Empty Re: [Resolvido]Comparar campo do formulário com uma tabela não vinculada.

    Mensagem  biligo 21/6/2015, 00:55

    Boas Flávio,

    Bom geralmente um sistema de login tem um Dlookup para localizar e comparar a senha e o usuário.
    Se conseguir tente adaptar:

    If Nz(DLookup("Login", "Usuario", "Login= " & Form_FLogin.cbxLogin & "And Ativo= True), "-1") <> -1 Then

    'ai se coloca o que tive pra abri ou seu sistema de login

    Else
    msgBox "Este login esta desabilitado"
    End If

    O problema é que existem muitos sistemas de login se não conseguir adaptar poste um exemplo do seu para
    facilitar no auxilio.
    avatar
    flbaena
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 26/09/2013

    [Resolvido]Comparar campo do formulário com uma tabela não vinculada. Empty Re: [Resolvido]Comparar campo do formulário com uma tabela não vinculada.

    Mensagem  flbaena 22/6/2015, 19:46

    Boa tarde Biligo.
    Coloquei código que você me mandou no evento ao clicar. Porem está retornando erro de sintaxe.
    Esse é o código do botão do formulário que faz a verificação de senha.
    Eu tentei colocar tambem no evento ao perder o foco, mas deu o mesmo problema.

    Private Sub btnLogin_Click()


     Dim strSenha As String

     If IsNull(cbxLogin) Then
       MsgBox "Por favor, informe um nome de usuário!", vbExclamation, "Login Inválido"
       cbxLogin.SetFocus
     ElseIf IsNull(txtSenha) Then
       MsgBox "Por favor, informe a senha!", vbExclamation, "Senha Inválida"
       txtSenha.SetFocus
     Else
       
       'Realizando a limpeza da senha
       strSenha = limparSenha(txtSenha)
     
       If verificaLogin(cbxLogin, strSenha) Then
       If Nz(DLookup("Login", "Usuario", "Login= " & Form_FLogin.cbxLogin & "And Ativo= True), "-1") <> -1 Then
         DoCmd.Close
         DoCmd.OpenForm "PainelAcesso"
         
       Else
         MsgBox "Senha incorreta! Por favor, tente novamente.", vbExclamation, "Login"
         txtSenha.SetFocus
       End If
       
     End If
     
    End Sub
    biligo
    biligo
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 228
    Registrado : 10/04/2014

    [Resolvido]Comparar campo do formulário com uma tabela não vinculada. Empty Re: [Resolvido]Comparar campo do formulário com uma tabela não vinculada.

    Mensagem  biligo 22/6/2015, 22:13

    Flávio,
    Se puder postar o vba do modulo agradeceria. Como disse existem muitos modos de fazer funcionar um sistema de login
    não necessariamente sera um Dlookup pode ser tambem um DCount mas o que lhe enviei seria uma luz para adaptar,
    o importante no caso sera o & "And Ativo= True.
    avatar
    flbaena
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 26/09/2013

    [Resolvido]Comparar campo do formulário com uma tabela não vinculada. Empty Re: [Resolvido]Comparar campo do formulário com uma tabela não vinculada.

    Mensagem  flbaena 22/6/2015, 23:05

    Boa noite.
    Segue o link.
    Não consegui anexar.


    https://drive.google.com/open?id=0B8Ia2nbM_K4IdVJJZmcwbkRBbU0&authuser=0
    biligo
    biligo
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 228
    Registrado : 10/04/2014

    [Resolvido]Comparar campo do formulário com uma tabela não vinculada. Empty Re: [Resolvido]Comparar campo do formulário com uma tabela não vinculada.

    Mensagem  biligo 23/6/2015, 00:02

    Boas Flávio XD,
    Fui diminuir o tamanho do BD excluindo alguns bang e fiz caca e tive que refazer lol,
    Como disse que haverá muitos usuários e precisa de mais segurança alterei a caixa de listagem por uma caixa de texto,
    assim o funcionario terá de saber o login e a senha.
    Como meu sistema é 64Bits tive de alterar algumas coisas pra funfa então segue a linha que adicionei:

    *ElseIf IsNull(txtSenha) Then
    *MsgBox "Por favor, informe a senha!", vbExclamation, "Senha Inválida"
    *txtSenha.SetFocus

    ElseIf Nz(DLookup("login", "Usuario", "login= '" & cbxLogin & "'" & "And Ativo = True"), 0) = 0 Then
    MsgBox "Usuario desativado", vbExclamation

    *Else

    *'Realizando a limpeza da senha

    A questão é que: se você fizer da forma que fiz utilizando caixa de texto e o funcionário digitar como Login: cascasc
    ainda sim vai aparece a mensagem de "Usuário desativado" sei la se você quiser alterar para "Usuário invalido ou desativado" pode ser também
    Ou ainda se quiser que apareça dois tipos de mensagens dependendo se existir ou não o login pesquise um pouco sobre Dlookup e DCount.

    Stock15.zip

    erros reporte que tentarei ajudar.
    avatar
    flbaena
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 26/09/2013

    [Resolvido]Comparar campo do formulário com uma tabela não vinculada. Empty Re: [Resolvido]Comparar campo do formulário com uma tabela não vinculada.

    Mensagem  flbaena 23/6/2015, 02:07

    Funcionou perfeitamente. Ficou ainda melhor com a caixa de texto.
    Vou analisar a possibilidade de colocar mensagens diferentes para caso o login não existir.

    Só mais uma pergunta.
    Caso eu queira buscar a informação de uma consulta ao invés da tabela, como ficaria o código.
    biligo
    biligo
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 228
    Registrado : 10/04/2014

    [Resolvido]Comparar campo do formulário com uma tabela não vinculada. Empty Re: [Resolvido]Comparar campo do formulário com uma tabela não vinculada.

    Mensagem  biligo 23/6/2015, 04:35

    Síntese do Dlookup
    DLookup(Expressão, Domínio [, Critério])

    DLookup com critério numérico:
    DLookup("O que procura", "Da tabela ou consulta", "Cujo numero= " & Me.IdTabela
    Simplificando mais ainda, primeiro o campo que você deseja achar, da tabela ou consulta X, cuja numeração da linha da tabela ou consulta
    coincide com um campo do seu formulário, função ou digitado na frente do critério mesmo XD.

    DLookup com critério texto:
    DLookup("O que procura", "Da tabela ou consulta", "Cujo texto= '" & Me.NomeCliente & "'"
    Pra data acho que é só coloca entre #: "Cuja data= #" & Me.Data& "#"

    Dlookup com mais critérios:
    DLookup("O que procura", "Da tabela ou consulta", "Cujo numero =" & Me.NumQualquer & "And "Cujo texto= '" & Me.NomeCliente & "'" & ""

    Mais critérios só adiciona & "And....."
    Sei la os mestres aqui sabem utilizar de muitas outras formas mais o que geralmente utilizo é só esses ai

    Da uma olhada aqui tem tudo: techonthenet - Funções
    avatar
    flbaena
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 26/09/2013

    [Resolvido]Comparar campo do formulário com uma tabela não vinculada. Empty Re: [Resolvido]Comparar campo do formulário com uma tabela não vinculada.

    Mensagem  flbaena 23/6/2015, 14:32

    Bom dia biligo.
    Obrigado pela atenção. Vou praticar um pouco com as suas dicas. Me ajudou bastante.
    Acho que já posso encerrar o tópico.É só clicar em resolvido?
    avatar
    flbaena
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12
    Registrado : 26/09/2013

    [Resolvido]Comparar campo do formulário com uma tabela não vinculada. Empty Re: [Resolvido]Comparar campo do formulário com uma tabela não vinculada.

    Mensagem  flbaena 23/6/2015, 23:05

    Obrigado pela ajuda.

    Conteúdo patrocinado


    [Resolvido]Comparar campo do formulário com uma tabela não vinculada. Empty Re: [Resolvido]Comparar campo do formulário com uma tabela não vinculada.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 05:15