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


3 participantes

    [Resolvido]Abrir formulários diferentes através do "Quem Introduziu / Quem Alterou"

    gumz
    gumz
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 103
    Registrado : 30/07/2011

    [Resolvido]Abrir formulários diferentes através do "Quem Introduziu / Quem Alterou" Empty Abrir formulários diferentes através do "Quem Introduziu / Quem Alterou"

    Mensagem  gumz 12/9/2011, 23:00

    Boa noite, amigos

    Estou utilizando o form de login "Quem Introduziu / Quem Alterou" criado pelo JPaulo.

    Tenho utilizado-o há algum tempo e o mesmo tem funcionado perfeitamente diante de minhas necessidades, somente para o registro das alterações feitas pelos usuários em rede. Mas agora preciso liberar acesso a mais usuários que não necessitam de toda informação disponível como antes, para evitar alterações e erros desnecessários.

    Então encontrei outro exemplo do JPaulo intitulado "Login_NiveisSeguranca" que utiliza quase os mesmos princípios do form anterior. O que gostaria de fazer é juntar o código destes dois forms para continuar utilizando o registro de alterações sem precisar usar outra solução de níveis de usuário.

    Pretendo abrir outro form mais simples dependendo do usuário logado, como no exemplo do controle de usuários que colei abaixo. Este form de controle de acesso tem os códigos mais simples que o de alteração, como posto abaixo. Gostaria de saber se alguém utiliza algo parecido utilizando estes dois forms ou possa me indicar algum exemplo...

    Grato a todos.



    CÓDIGO PARA ABRIR FORMULÁRIOS DIFERENTES:

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

        If Me.txtSenha.Value = DLookup("[Senha]", "[TBLUsers]", "[User] = '" & Me.txtUser & "'") Then
            Identificacao = DLookup("[NivelSeguranca]", "[TBLUsers]", "[User] = '" & Me.txtUser & "'")
            Select Case Identificacao
                Case 1
                    stDocName = "frmAdministrador"
                Case 2
                    stDocName = "frmUsuario"
            End Select
            DoCmd.Close
            DoCmd.OpenForm stDocName
          Else
            MsgBox "Senha Incorreta, coloque novamente.", vbInformation + vbOKOnly, "Erro"
            Me.txtSenha.Value = ""
            Exit Sub
        End If

    End Sub

    CÓDIGO PARA REGISTRAR ALTERAÇÕES:

    Código:
        Private Sub cmdLogin_Click()
    Dim rs As dao.Recordset 'Habilite o DAO nas referencias

        Dim myDB As dao.Database
        Dim myQDEF As dao.QueryDef
        Dim myRST As dao.Recordset
        Dim strSQL As String
        blnPasswordOK = False

        Me.txtAttempts.Enabled = False

        If IsNull(Me.txtLoginID) Or Me.txtLoginID = "" Then
            MsgBox "Digite o utilizador...", vbInformation
            Me.txtLoginID.SetFocus
            Exit Sub
        End If

        If IsNull(Me.txtPassword) Or Me.txtPassword = "" Then
            MsgBox "Digite a password...", vbInformation
            Me.txtPassword.SetFocus
            Exit Sub
        End If

        strSQL = "SELECT strUserID, strPassword " & _
                "FROM tblUsers " & _
                "WHERE strUserID=" & """" & Me.txtLoginID & """" & ";"

        Set myDB = CurrentDb

        Set myQDEF = myDB.CreateQueryDef("")
        With myQDEF
            .SQL = strSQL
            Set myRST = .OpenRecordset()
        End With

        blnUserFound = Not (myRST.BOF And myRST.EOF)

        If blnUserFound Then
            blnPasswordOK = (Me.txtPassword = myRST.Fields("strPassword"))
            If blnPasswordOK Then
            Set rs = CurrentDb.OpenRecordset("tblUsers")
    With rs
    rs.Index = "Primarykey" 'nome do indice do campo user
    rs.Seek "=", Me.txtLoginID
    rs.Edit
    rs("strDataHora") = Now()
    rs.Update 'Salva
    End With
                DoCmd.Close
                DoCmd.OpenForm "frmExemplo", acNormal, "", "", , acNormal
             
                Exit Sub
            Else
                MsgBox "Password incorrecta..."
                Me.txtPassword = ""
                Me.txtAttempts = Me.txtAttempts + 1
            End If
        Else
            MsgBox "Utilizador não Existe..."
            Me.txtLoginID = ""
            Me.txtPassword = ""
            Me.txtAttempts = Me.txtAttempts + 1
        End If

        Me.txtAttempts.Visible = (Me.txtAttempts > 0)
        Me.lblAttempts.Visible = (Me.txtAttempts > 0)
        Me.Repaint

        bln5attempts = (Me.txtAttempts >= 3)
        If bln5attempts Then
            MsgBox "Esgotadas as 3 tentativas possiveis!!", vbCritical
            blnPasswordOK = True
            DoCmd.Quit acQuitSaveAll
            Exit Sub
        End If

        myRST.Close
        myQDEF.Close
        myDB.Close

    End Sub
    bitabit
    bitabit
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 225
    Registrado : 14/07/2010

    [Resolvido]Abrir formulários diferentes através do "Quem Introduziu / Quem Alterou" Empty Re: [Resolvido]Abrir formulários diferentes através do "Quem Introduziu / Quem Alterou"

    Mensagem  bitabit 16/9/2011, 19:53

    Boas, não sei se já resolveste este problema, senão o resolveste tenho aqui um exemplo que disponibilizei ha pouco tempo para um colega e que é de mais facil compreensao e penso que dá para te dar umas ideias.

    http://dl.dropbox.com/u/10750210/Login_2003.mdb
    gumz
    gumz
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 103
    Registrado : 30/07/2011

    [Resolvido]Abrir formulários diferentes através do "Quem Introduziu / Quem Alterou" Empty Re: [Resolvido]Abrir formulários diferentes através do "Quem Introduziu / Quem Alterou"

    Mensagem  gumz 16/9/2011, 20:01

    Olá, bitabit

    Realmente, seu exemplo é bem intuitivo - vou dar uma estudada mais profunda nele. Eu não teria problemas em mudar o sistema de login que estou utilizando se não tivesse quase 2000 registros em minha base, que incluem o usuário que registrou, quem alterou e etcs. Além de que preciso manter a parte que salva quem incluiu e quem alterou na tabela.

    Vou fazer uns testes neste fim de semana e dou um retorno aqui.

    Grato pelo exemplo!
    vieirasoft
    vieirasoft
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7304
    Registrado : 11/05/2010

    [Resolvido]Abrir formulários diferentes através do "Quem Introduziu / Quem Alterou" Empty Re: [Resolvido]Abrir formulários diferentes através do "Quem Introduziu / Quem Alterou"

    Mensagem  vieirasoft 21/9/2011, 17:17

    Como não houve retorno, o tópico passa a resolvido. Qualquer coisa reabra, por favor.

    Conteúdo patrocinado


    [Resolvido]Abrir formulários diferentes através do "Quem Introduziu / Quem Alterou" Empty Re: [Resolvido]Abrir formulários diferentes através do "Quem Introduziu / Quem Alterou"

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/4/2024, 10:45