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]Login Personalizado

    Compartilhe

    ClebinhoDG
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 10/06/2013

    [Resolvido]Login Personalizado

    Mensagem  ClebinhoDG em Ter 15 Jul 2014, 02:44

    Olá, gostaria de saber se tem como eu implantar um sistema de login, aonde eu venha ter o Administrador, e usuários, sendo que ao cadastrar o usuário com o nome e senha, eu cadastrar a cidade deste usuário também, e ao acessar o banco de dados este usuário venha ter acesso aos registros apenas na sua cidade;


    Exemplo:

    Usuários:

    Administrador (Com Acesso a Todas as Cidades)
    Cleberson (Acesso Apenas a Cidade de São Paulo)

    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 920
    Registrado : 05/02/2010

    Login Personalizado

    Mensagem  good guy em Qua 16 Jul 2014, 15:25

    Olá Clebinho,

    Tente assim. No formulário principal que será aberto caso o login esteja correto.

    Código:
    Private Sub Form_Load()
    DoCmd.OpenForm "frmTesteLogin"             'Nome do formulário de login exemplo
    Dim sNome As String
    sNome = DLookup("Nome", "tblNiveis", "Codigo =1")  'Código 1 de administrador da tabela de níveis


    If Forms!frmTesteLogin!Login = sNome Then  
    Me.RecordSource = "SELECT * FROM SuaTabela"
    Else
    Dim sCidade As String
    Dim xNome As String

    xNome = Forms!frmTesteLogin!Login
    sCidade = DLookup("Cidade", "tblNiveis", "Nome= '" & xNome & "'")
    Me.RecordSource = "SELECT * FROM SuaTabela WHERE Cidade = '" & sCidade & "'"
    End If
    End Sub


    Última edição por good guy em Qui 17 Jul 2014, 14:51, editado 1 vez(es)

    ClebinhoDG
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 10/06/2013

    Re: [Resolvido]Login Personalizado

    Mensagem  ClebinhoDG em Qui 17 Jul 2014, 02:06

    não pude entender muito bem este código, estou enviando um exemplo do meu sistema de login

    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 920
    Registrado : 05/02/2010

    Login Personalizado

    Mensagem  good guy em Qui 17 Jul 2014, 15:15

    Olá Clebinho,

    Estou um pouco confuso. De onde vc pesquisa a Cidade da tabela Usuario ou tabClientes. Na tabela Usuario não tem o campo Cidade. Quem vai logar também serão os clientes, não é possível, certo?

    ClebinhoDG
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 10/06/2013

    Re: [Resolvido]Login Personalizado

    Mensagem  ClebinhoDG em Qui 17 Jul 2014, 17:12

    desculpe good guy, eu esqueci de acrescentar este campo na tabela usuarios, vai ai o exemplo corrigido

    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 920
    Registrado : 05/02/2010

    Login Personalizado

    Mensagem  good guy em Qui 17 Jul 2014, 17:49

    Oá Clebinho,

    O código fica assim para o formulário frmClientes no seu evento Form_Load:


    Código:
    Private Sub Form_Load()
            Dim sNome As String
            Dim sSenha As String
            
            sNome = "ADMINISTRADOR"
            sSenha = DLookup("Senha", "Usuario", "Nome = 'ADMINISTRADOR'")
            
            If Forms!FLogin!CaixaLogin = sNome And Forms!FLogin!CaixaSenha = sSenha Then
            Me.RecordSource = "SELECT * FROM TabClientes"
            DoCmd.Close acForm, "FLogin"
            Else
            Dim sCidade As String
            Dim xNome As String

            xNome = Nz(Forms!FLogin!CaixaLogin)
            sCidade = Nz(DLookup("Cidade", "Usuario", "Nome= '" & xNome & "'"))
            Me.RecordSource = "SELECT * FROM TabClientes WHERE Cidade = '" & sCidade & "'"
            DoCmd.Close acForm, "FLogin"
            End If
        

    End Sub


    Última edição por good guy em Sex 18 Jul 2014, 17:18, editado 1 vez(es)

    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 920
    Registrado : 05/02/2010

    Login Personalizado

    Mensagem  good guy em Qui 17 Jul 2014, 21:37

    Olá Clebinho,

    Por favor, faça uma correção no código de seu aplicativo conforme está no post acima. Esqueci de verificar a senha também.

    ClebinhoDG
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 10/06/2013

    Re: [Resolvido]Login Personalizado

    Mensagem  ClebinhoDG em Sex 18 Jul 2014, 03:03

    ainda não consegui, vou tentar explicar melhor:

    no formulário FLogin eu que tenha apenas dois campos, o campo usuário e o campo senha

    ___________________________________________________________________________

    no formulário FPrincipal eu quero que contenham três campos, um usuário, outro senha, e outro cidade, ao o administrador cadastrar um novo usuário, entao escolher qual cidade do cadastro frmClientes este usuario vai ter acesso, Obs.: o administrador eu quero que tenha acesso a todas as cidades do frmClientes

    ___________________________________________________________________________

    uma ultima coisa, na tabela Usuario eu quero que no campo cidade, ela puxe as cidades diretas da tabCidades, ficando no formato de uma combox.

    desculpe-me no primeiro exemplo eu postei errado, verifique este exemplo que estou anexando agora.

    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 920
    Registrado : 05/02/2010

    Login Personalizado

    Mensagem  good guy em Sex 18 Jul 2014, 17:19

    Olá,

    Tente com este exemplo agora.
    Anexos
    ExemploLogin.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (288 Kb) Baixado 64 vez(es)

    ClebinhoDG
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 10/06/2013

    Re: [Resolvido]Login Personalizado

    Mensagem  ClebinhoDG em Sex 18 Jul 2014, 19:04

    para o usuario Cleberson deu certo, só que no formulario FPrincipal a onde eu Cadastrava novos usuarios não esta mais cadastrando, eu quero que o administrador possa cadastrar e excluir os usuarios, no FPrincipal, colocando assim no campo Usuario o nome do Novo usuario, e juntamente ja a cidade deste usuario, e ao clicar em Cadastrar, gravar estas informações

    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 920
    Registrado : 05/02/2010

    Login Personalizado

    Mensagem  good guy em Sex 18 Jul 2014, 20:05

    Tente agora com este arquivo que incluí hoje às 16:37. Mantive seu código de inclusão e exclusão e só deixei o meu código no evento Form_Load do formulário frmClientes.
    Anexos
    ExemploLogin.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (276 Kb) Baixado 40 vez(es)

    ClebinhoDG
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 10/06/2013

    Re: [Resolvido]Login Personalizado

    Mensagem  ClebinhoDG em Sex 18 Jul 2014, 22:32

    quando eu cliquei no botão cadastrar me apareceu este erro

    Private Sub BotaoIncluir_Click()
       
       If getUsuarioAtual = "ADMINISTRADOR" Then
           
           If Not IsNull(CaixaNovoUsuario) Then
               
               CaixaNovoUsuario = UCase(CaixaNovoUsuario)
               
               If MsgBox("Confirma a inclusão do usuário " & CaixaNovoUsuario & "?", vbQuestion + vbYesNo, "Novo Usuário") = vbYes Then
                   
                   If Not IsNull(DLookup("login", "Usuario", "login='" & CaixaNovoUsuario & "'")) Then
                       MsgBox "Nome de usuário já existente!", vbExclamation, "Novo Usuário"
                       CaixaNovoUsuario = Null
                       Exit Sub
                   End If
                   
                   DoCmd.SetWarnings False
                   DoCmd.RunSQL "Insert Into Usuario Values('" & CaixaNovoUsuario & "','123')"
                   DoCmd.SetWarnings True
                   MsgBox "Usuário incluído com sucesso!", vbExclamation, "Novo Usuário"
                   CaixaNovoUsuario = Null
                   CaixaNovoUsuario.Requery
               
               End If
           
           Else
               MsgBox "Informe o nome do usuário!", vbExclamation, "Novo Usuário"
           End If
       
       Else
           MsgBox "Somente o ADMINISTRADOR pode incluir novos usuários!", vbExclamation, "Novo Usuário"
           CaixaNovoUsuario = Null
       End If

    End Sub

    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 920
    Registrado : 05/02/2010

    Login Personalizado

    Mensagem  good guy em Sab 19 Jul 2014, 02:37

    Não mexi neste código embora me parecesse um pouco estranho este código de inserção. Mas considerando que em programação há tantas formas de executar uma só tarefa baseadas no código padrão. Mas vamos lá. Tente fazer do modo padrão.


    INSERT INTO Usuário (campo1, campo2) VALUES ('" & var1 & "', '" & var2 & "')


    Última edição por good guy em Ter 27 Jan 2015, 13:42, editado 1 vez(es)

    ClebinhoDG
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 10/06/2013

    Re: [Resolvido]Login Personalizado

    Mensagem  ClebinhoDG em Sab 19 Jul 2014, 03:36

    infelizmente nada, continua dando erro

    ClebinhoDG
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 10/06/2013

    Re: [Resolvido]Login Personalizado

    Mensagem  ClebinhoDG em Qui 23 Abr 2015, 02:22

    finalmente consegui resolver, valeu mano good guy

    Dim login As String
    If getUsuarioAtual = "ADMINISTRADOR" Then

    If Not IsNull(CaixaNovoUsuario) Then

    CaixaNovoUsuario = UCase(CaixaNovoUsuario)

    If MsgBox("Confirma a inclusão do usuário " & CaixaNovoUsuario & "?", vbQuestion + vbYesNo, "Novo Usuário") = vbYes Then

    If Not IsNull(DLookup("login", "Usuario", "login='" & CaixaNovoUsuario & "'")) Then
    MsgBox "Nome de usuário já existente!", vbExclamation, "Novo Usuário"
    CaixaNovoUsuario = Null
    Exit Sub
    End If

    DoCmd.SetWarnings False

    DoCmd.RunSQL "INSERT INTO Usuario (login, senha, Cidade) VALUES ('" & CaixaNovoUsuario & "', '" & 123 & "', '" & cboCidades & "')"
    DoCmd.SetWarnings True
    MsgBox "Usuário incluído com sucesso!", vbExclamation, "Novo Usuário"
    CaixaNovoUsuario = Null
    CaixaNovoUsuario.Requery

    End If

    Else
    MsgBox "Informe o nome do usuário!", vbExclamation, "Novo Usuário"
    End If

    Else
    MsgBox "Somente o ADMINISTRADOR pode incluir novos usuários!", vbExclamation, "Novo Usuário"
    CaixaNovoUsuario = Null
    End If

    good guy
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 920
    Registrado : 05/02/2010

    Login Personalizado

    Mensagem  good guy em Sex 24 Abr 2015, 15:34

    Valeu pelo retorno, Clebinho. O fórum todo agradece.

    Dê uma curtida em minha página no Facebook.

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

    Visite meu site:

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

      Data/hora atual: Dom 04 Dez 2016, 01:54