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


4 participantes

    FORM LOGIN - REGISTAR USUARIO

    avatar
    slayter
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 1
    Registrado : 29/10/2015

    FORM LOGIN - REGISTAR USUARIO  Empty FORM LOGIN - REGISTAR USUARIO

    Mensagem  slayter 30/10/2015, 17:17

    Boa tarde,

    noob em vba...

    Tenho um script mt basico de form que serve de Login para abrir outro FORM,
    O outro FORM é para criar registos de vendas, o que eu quero é que a informação do usuario fique resgistrado no form de resgistro de vendas

    Podem por favor dizer como fazer isto? qual o codigo/comando que tenho que escrever no botao de acesso do FORM Login e se tenho que fazer alguma coisa no form de vendas?



    Private Sub btnLogin_Click()

    Dim criterio As String

    criterio = "login='" & cbxLogin & "' And senha='" & txtSenha & "'"
    If DCount("login", "Usuario", criterio) = 1 Then
    Form.Visible = False
    DoCmd.OpenForm "Back_Office_Portugal"



    Else
    MsgBox "Senha incorreta! Por favor, tente novamente.", vbExclamation, "Login"
    txtSenha.SetFocus
    End If
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    FORM LOGIN - REGISTAR USUARIO  Empty Re: FORM LOGIN - REGISTAR USUARIO

    Mensagem  Noobezinho 30/10/2015, 19:35

    Luis

    Vamos tentar, ok?

    Antes de tudo, preciso saber se está tudo certo, com os dados:

    A tabela Usuario  tem os campos  com código do usuário e o nome e senha ?
    Mais precisamente o código do usuário.

    Aqui:

    If DCount("login", "Usuario", criterio) = 1 Then

    Esse "login" é o código do usuário?

    essa frase:
    Form.Visible = False

    Não tem o nome de qual form deseja deixar invisível.

    como é form que está aberto no momento (o de login)

    faça assim:

    Private Sub btnLogin_Click()
    Dim criterio As String
    criterio = "login='" & cbxLogin & "' And senha='" & txtSenha & "'"
    If DCount("login", "Usuario", criterio) = 1 Then
      'primeiro precisa abrir o outro form, para poder
      'deixar o atual invisível, não se pode deixar invisivel
      'o objeto que tem o foco

      DoCmd.OpenForm "Back_Office_Portugal"
      Forms!frmLogin.visible= false ' coloque o nome do teu form de login, no lugar de frmLogin.
    Else
      MsgBox "Senha incorreta! Por favor, tente novamente.", vbExclamation, "Login"
      txtSenha.SetFocus
    End If


    Copie e cole o código e substitua onde precisa com os nomes dos teus controles.

    Agora um passo a passo, faça com atenção, para aprender.Wink
    Com o código já no local, clique e deixe o cursor sobre
    a linha "If DCount("login", "Usuario", criterio) = 1 Then"
    e então, aperte F9, isso vai pintar essa linha de marrom.
    Acabamos de colocar um ponto de interrupção no código vba,
    ou seja, ele ficará parado ali.
    rode o aplicativo. Ele tem que parar nessa linha que ficará amarela.
    Agora podemos fazer uns testes.
    copie essa parte do código:
    DCount("login", "Usuario", criterio)

    Agora, la embaixo tem a janela imediata.

    Cole essa linha que copiou e acrescente na frente dela o ponto de (?)

    Assim:

    ? DCount("login", "Usuario", criterio)

    O ponto de interrogação quer dizer print ou exiba.
    Apertando a tecla Enter com o cursor nessa linha, irá
    executar o Dcount e retornará na linha de baixo, o resultado.
    Deve retornar 1, pois deve ter um registro que atende os critérios.
    Pronto, testou e funfou?
    Aperte F9 com o cursor na linha para tirar a faixa marrom dela.(limpar o ponto de interrupção).

    teste.

    [ ]'s


    .................................................................................
    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.
    avatar
    Ixion
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 24/10/2015

    FORM LOGIN - REGISTAR USUARIO  Empty Re: FORM LOGIN - REGISTAR USUARIO

    Mensagem  Ixion 31/10/2015, 15:58

    Eu também estava com um problema parecido.

    Se eu entendi bem você quer que ao abrir o formulário de vendas que o nome do usuário logado apareça no formulário e seja salvo quando a venda for registrada.

    Se for isso você pode criar uma variável que irá assumir o valor selecionado na caixa de combinação "cbxlogin". Pra isso crie um módulo e ponha esses códigos:

    Private strUsuarioAtual As String

    Function getUsuarioAtual() As String

    getUsuarioAtual = strUsuarioAtual

    End Function

    Sub setUsuarioAtual(argLogin As String)

    strUsuarioAtual = argLogin

    End Sub

    Agora no formulário, no evento "ao abrir", ponha:

    Me.seucampo=getusuarioatual()

    E na origem de dados do campo coloque o campo da sua tabela de vendas onde ficará registrado o nome do usuário / vendedor.
    avatar
    ItaloAprendiz
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1
    Registrado : 12/03/2016

    FORM LOGIN - REGISTAR USUARIO  Empty Gravar o Usuário logado toda vez que fizer um registro

    Mensagem  ItaloAprendiz 12/3/2016, 02:50

    Galera é o seguinte: estou fazendo sisteminha de movimentação de processos. Cada processo tem várias movimentações. Daí criei duas tabelas, uma chamada tab_movimentação e outra Cad_Processos relacionei-as tudo bonitinho. No entanto quis dá uma sofisticada e resolvi criar um sistema de login. Consegui criar um login bem simples, baseado apenas nas macros do access 2013. Todavia, eu queria que quando o usuário clicasse no botão movimentar processo, o nome desse usuário logado fosse gravado num campo da tabela: tab_movimentação. Ou seja toda vez que ele adicionasse um registro, automaticamente o nome dele fosse gravado também.

    Sou leigo em VBA. Estou fazendo tudo com macro.

    Aguardando uma luz!

    Conteúdo patrocinado


    FORM LOGIN - REGISTAR USUARIO  Empty Re: FORM LOGIN - REGISTAR USUARIO

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 26/4/2024, 14:28