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]Não aparesse o nome do usuario logado

    Samuel Ribeiro
    Samuel Ribeiro
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 584
    Registrado : 05/02/2011

    [Resolvido]Não aparesse o nome do usuario logado Empty [Resolvido]Não aparesse o nome do usuario logado

    Mensagem  Samuel Ribeiro 8/1/2015, 16:26

    Boa tarde

    Em meu projeto tenho 3 formulários onde tem um campo txt chamado txtUsuarioLogado, conforme orientações deste excelente fórum criei um modulo de nome LoginSenha onde tem o código com segue abaixo:
    Código:
    ption Compare Database
    Option Explicit
    Private strUsuarioAtual As String

    Function verificaLogin(argLogin As String, argSenha As String) As Boolean
    Dim criterio As String
    criterio = "User'" & argLogin & "' And Senha='" & argSenha & "'"
    If Nz(DCount("User", "TBLUsuario", criterio), 0) > 0 Then
    verificaLogin = True
    setUsuarioAtual argLogin
        Else
        verificaLogin = False
        End If
        
    End Function

    Sub setUsuarioAtual(argUsuario As String)
    strUsuarioAtual = argUsuario

    End Sub

    Function getUsuarioAtual() As String
    getUsuarioAtual = strUsuarioAtual
    End Function

    Na propriedade Fonte do Controle adicionei =getUsuarioAtual()
    Mas infelizmente não aparece nada no campo em questão.
    Alguém pode me orientar onde posso estar errando?

    Desde ja agradeço.


    .................................................................................
    ______________________________
         Samuel Carlos Ribeiro
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Não aparesse o nome do usuario logado Empty Re: [Resolvido]Não aparesse o nome do usuario logado

    Mensagem  Noobezinho 8/1/2015, 17:02

    Samuel

    Sabe fazer depuração do código VBA?

    Se não, veja como fazer ali embaixo, na minha assinatura.

    Então, coloque um ponto de interrupção (clicando bem no inicio da linha de código entre o extremo esquerdo da folha de código e alinha
    vertical) no inicio da frase:
    Function verificaLogin
    Essa linha ficara da cor marrom(não é bem isso, eu sei) , dai tecle F8 cada teclada, irá executar uma linha.
    Desse modo poderá ver os valores das variáveis, e ver onde ta o erro.


    Mas acredito que o erro está após o usuário digitar seu nome e senha nas caixas de textos

    []'s

    Noob


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    Samuel Ribeiro
    Samuel Ribeiro
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 584
    Registrado : 05/02/2011

    [Resolvido]Não aparesse o nome do usuario logado Empty Re: [Resolvido]Não aparesse o nome do usuario logado

    Mensagem  Samuel Ribeiro 8/1/2015, 18:09

    Boa tarde Noob

    Muito Obrigado pela atenção

    Fiz como você me disse, depurou o código e a depuração parou neste bloco de código:

    Function getUsuarioAtual()As String
    getUsuarioAtual = strUsuarioAtual
    End Function

    Onde a primeira linha Function getUsusarioAtual() As String fica selecionado de amarelo
    e quando ele esta selecionado de marrom e posiciono o ponteiro do mouse em cima dele aparece strUsuarioAtua = ""

    Desde ja agradeço


    .................................................................................
    ______________________________
         Samuel Carlos Ribeiro
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Não aparesse o nome do usuario logado Empty Re: [Resolvido]Não aparesse o nome do usuario logado

    Mensagem  Noobezinho 8/1/2015, 19:23

    Samuel assim:
    A linha amarela é onde o programa parou no código.

    Se for verificar uma variável depois da linha amarela,  essa variável estará sem dados,
    pois o programa não chegou até ela.

    Function getUsuarioAtual()As String
    getUsuarioAtual = strUsuarioAtual
    End Function


    Para verificar o conteúdo da variável, o programa tem que estar parado na linha
    abaixo da variável em questão, conforme o exemplo acima (rosa, exibe melhor que amarelo)

    Agora , que evitar essa função?

    Se sim, então:

    Num módulo qualquer, crie essa variável publica abaixo:

    Public login As login
    Type login
       id  As Long
       Usuario As String * 50
    End Type



    No botão ou evento que você usa apos digitar o nome e senha do usário, coloque:

    login.id = .Column(0)  'IdUsuário
    login.Usuario = .Column(1) 'Nome do usuário


    Pronto, no resto do aplicativo é so chamar
    login.id  irá retornar a id do usuário logado
    login.Usuario irá retornar o nome do usuário.


    []'s

    Noob


    Última edição por Noobezinho em 8/1/2015, 19:53, editado 2 vez(es)


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    Samuel Ribeiro
    Samuel Ribeiro
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 584
    Registrado : 05/02/2011

    [Resolvido]Não aparesse o nome do usuario logado Empty Re: [Resolvido]Não aparesse o nome do usuario logado

    Mensagem  Samuel Ribeiro 8/1/2015, 19:44

    Noob, estava analisando mais detalhadamente aqui, e vi que no meu formulário de login onde o Usuário entra com o seu nome de usuário, não é um txt e sim uma caixa de combinação.
    Sera que tem algo a ver?


    .................................................................................
    ______________________________
         Samuel Carlos Ribeiro
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Não aparesse o nome do usuario logado Empty Re: [Resolvido]Não aparesse o nome do usuario logado

    Mensagem  Noobezinho 8/1/2015, 19:56

    Quando estava digitando a mensagem anterior, pensei nisso.
    Portanto, já modifiquei o código passado naquela mensagem.

    O exemplo que pegou deve ter um outro formulário para cadastro dos usuários.
    Para fazer o login no aplicativo, foi feita uma combobox para facilitar.
    Utilize o código que passei, melhor que que a função.

    Noob


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    Samuel Ribeiro
    Samuel Ribeiro
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 584
    Registrado : 05/02/2011

    [Resolvido]Não aparesse o nome do usuario logado Empty Re: [Resolvido]Não aparesse o nome do usuario logado

    Mensagem  Samuel Ribeiro 9/1/2015, 10:05

    Bom dia Noob

    No botão que uso para acessar o sistema através do Usuário = User e senha = Senha tem um código onde através dele separa - se se o Usuário usa un formulário chamado Usuário ou um formulário chamado administrador.
    Sera que tem como eu encaixar este código e ele funcionar?
    A variável já foi criada.

    Segue o código do botão:

    Código:
    Private Sub cmdEntrar_Click()
    Dim Identificacao As Integer

        If Me.txtSenha.Value = DLookup("[Senha]", "[TBLUsuario]", "[User] = '" & Me.txtUser & "'") Then
            Identificacao = DLookup("[NivelSeguranca]", "[TBLUsuario]", "[User] = '" & Me.txtUser & "'")
            Select Case Identificacao
                Case 1
                    stDocName = "FormAdministrador"
                Case 2
                    stDocName = "FormUsuario"
            End Select
            DoCmd.Close
            DoCmd.OpenForm stDocName
          Else
            MsgBox "Senha Incorreta, Digite novamente.", vbInformation + vbOKOnly, "Sistema de Consulta de Produtos - Erro"
            Me.txtSenha.Value = ""
            Exit Sub
        End If

    End Sub

    Desde ja agradeço


    .................................................................................
    ______________________________
         Samuel Carlos Ribeiro
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Não aparesse o nome do usuario logado Empty Re: [Resolvido]Não aparesse o nome do usuario logado

    Mensagem  Noobezinho 9/1/2015, 10:20

    Experimente assim:



    Private Sub cmdEntrar_Click()
    Dim Identificacao As Integer

       If Me.txtSenha.Value = DLookup("[Senha]", "[TBLUsuario]", "[User] = '" & Me.txtUser & "'") Then
           Identificacao = DLookup("[NivelSeguranca]", "[TBLUsuario]", "[User] = '" & Me.txtUser & "'")
           Select Case Identificacao
               Case 1
                   stDocName = "FormAdministrador"
               Case 2
                   stDocName = "FormUsuario"
           End Select
           ' Já que não está usando a Id do usuário, vou colocar somente o nome dele na variável login.
           login.Usuario = me.txtUser
           DoCmd.Close
           DoCmd.OpenForm stDocName
       Else
           MsgBox "Senha Incorreta, Digite novamente.", vbInformation + vbOKOnly, "Sistema de Consulta de Produtos - Erro"
           Me.txtSenha.Value = ""
           Exit Sub
       End If

    End Sub


    Mas não esqueça de declarar a variável login num módulo básico

    Noob


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    Samuel Ribeiro
    Samuel Ribeiro
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 584
    Registrado : 05/02/2011

    [Resolvido]Não aparesse o nome do usuario logado Empty Re: [Resolvido]Não aparesse o nome do usuario logado

    Mensagem  Samuel Ribeiro 9/1/2015, 11:24

    A declaração desta variável não é aquela que você me passou nas mensagens anteriores?

    Public Login as login
    Type login
    id as long

    etc

    Ou vou ter que declarar ela em um modulo classe?



    .................................................................................
    ______________________________
         Samuel Carlos Ribeiro
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Não aparesse o nome do usuario logado Empty Re: [Resolvido]Não aparesse o nome do usuario logado

    Mensagem  Noobezinho 9/1/2015, 13:15

    Sim, tem que declarar, mas não num modulo Classe e sim num modulo básico, na sessão de módulos
    Pode declarar em qualquer um, mas se tiver um modulo global, melhor nele.

    Noob


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    Samuel Ribeiro
    Samuel Ribeiro
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 584
    Registrado : 05/02/2011

    [Resolvido]Não aparesse o nome do usuario logado Empty Re: [Resolvido]Não aparesse o nome do usuario logado

    Mensagem  Samuel Ribeiro 9/1/2015, 15:44

    Noob
    Parece uma coisa muito simples, mas não da certo de jeito nenhum.
    Veja como eu fiz:
    Montei um novo modulo de nome vrLogin e fiz a variável assim:

    Option Compare Database
    Option Explicit

    Private login As String

    Mas insiste em dar este erro:

    Erro de compilação:
    Qualificador Invalido

    E no código abaixo o Login fica selecionado de azul:

    Private Sub cmdEntrar_Click()
    Dim Identificacao As Integer

    If Me.txtSenha.Value = DLookup("[Senha]", "[TBLUsuario]", "[User] = '" & Me.txtUser & "'") Then
    Identificacao = DLookup("[NivelSeguranca]", "[TBLUsuario]", "[User] = '" & Me.txtUser & "'")
    Select Case Identificacao
    Case 1
    stDocName = "FormAdministrador"
    Case 2
    stDocName = "FormUsuario"
    End Select
    ' Já que não está usando a Id do usuário, vou colocar somente o nome dele na variável login.
    login.Usuario = me.txtUser
    DoCmd.Close
    DoCmd.OpenForm stDocName
    Else
    MsgBox "Senha Incorreta, Digite novamente.", vbInformation + vbOKOnly, "Sistema de Consulta de Produtos - Erro"
    Me.txtSenha.Value = ""
    Exit Sub
    End If

    End Sub



    .................................................................................
    ______________________________
         Samuel Carlos Ribeiro
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Não aparesse o nome do usuario logado Empty Re: [Resolvido]Não aparesse o nome do usuario logado

    Mensagem  Noobezinho 9/1/2015, 17:34

    Veja na mensagem nº 4 como é a variável login é declarada e seus tipos ( type )

    Você não colocou o tipo:

    Public login As login
    Type login
      'id  As Long ' esse não precisa, você não está usando o código do usuário
      Usuario As String * 50
    End Type

    E como disse, essa declaração vai na parte dos módulos e não na página de classe de um formulário.

    Noob


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    Samuel Ribeiro
    Samuel Ribeiro
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 584
    Registrado : 05/02/2011

    [Resolvido]Não aparesse o nome do usuario logado Empty Re: [Resolvido]Não aparesse o nome do usuario logado

    Mensagem  Samuel Ribeiro 9/1/2015, 18:18

    Noob

    Veja a pasta de PrintScreens em anexo, lembrando que os campos no formulário de login não são acoplados, e nem o campo txtUsuarioAcoplado dos formulários onde eu quero que apareça o Usuário Logado. Estou usando o Access 2013 se fizer alguma diferença. o txtUsuarioLogado dos formularios estão vindo em branco.

    Muito obrigado pela sua preciosa atenção


    .................................................................................
    ______________________________
         Samuel Carlos Ribeiro
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Não aparesse o nome do usuario logado Empty Re: [Resolvido]Não aparesse o nome do usuario logado

    Mensagem  Noobezinho 9/1/2015, 19:59

    Agora só falta colocar no evento Ao abrir do formulário:

    txtUsuarioAcoplado = login.usuario


    Pronto, agora quando precisar exibir o nome do usuário logado, é só colocar no evento Ao Abrir do formulário:

    NomedaCaixaTexto = login.usuario



    Noob


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    Samuel Ribeiro
    Samuel Ribeiro
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 584
    Registrado : 05/02/2011

    [Resolvido]Não aparesse o nome do usuario logado Empty Re: [Resolvido]Não aparesse o nome do usuario logado

    Mensagem  Samuel Ribeiro 10/1/2015, 10:56

    Bom dia Noob

    Funcionou e muito bem
    Muito Obrigado pela paciência.


    .................................................................................
    ______________________________
         Samuel Carlos Ribeiro
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Não aparesse o nome do usuario logado Empty Re: [Resolvido]Não aparesse o nome do usuario logado

    Mensagem  Noobezinho 10/1/2015, 11:27

    Que ótimo Samuel

    Valeu o retorno

    Boa sorte

    Noob


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.

    Conteúdo patrocinado


    [Resolvido]Não aparesse o nome do usuario logado Empty Re: [Resolvido]Não aparesse o nome do usuario logado

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 04:29