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 PARA REGISTRAR ALTERAÇÕES:
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