Pessoal, boa noite!
Já li vários exemplos no fórum mas não consigo adaptar a minha necessidade, gostaria que em meus projetos no formulário principal podesse exibir através de uma caixa de texto o usuário atual e o tipo de usuário. Se alguém puder me ajudar... desde já muito obrigado.
Extrutura da tabela:
IdUsuario - Numeração Automática
Usuario - texto
Senha - texto
Bloqueado - sim/nao
TipoUsu - texto
Módulo (Mod_login)
Option Compare Database
Public nlogoff As Boolean
Public login As login
Type login
id As Long
USUARIO As String * 50
End Type
Public Function fncLogoff()
'----------------------------------
'fecha todos os formulários e
'reabre tela de login
'----------------------------------
On Error Resume Next
nlogoff = False
Call fncFechaForms(True)
login.id = 0: login.USUARIO = ""
DoCmd.OpenForm "frmLogin", , , , , acDialog
End Function
Public Function fncPermissões(NomeForm As Form)
Dim Filtro As String
On Error Resume Next
Filtro = "objeto = '" & NomeForm.Name & "'"
Filtro = "Idfuncao = " & Nz(DLookup("idFuncao", "tblFunções", Filtro), 0) & " "
If Nz(DLookup("bloqueada", "tblpermissõesUsuários", Filtro), True) = True Or login.id = 0 Then
MsgBox "Acesso bloqueado...", vbInformation, "Aviso"
DoCmd.Close acForm, NomeForm.Name
Exit Function
End If
NomeForm.AllowEdits = Nz(DLookup("atualizar", "tblpermissõesUsuários", Filtro), "false")
NomeForm.AllowDeletions = Nz(DLookup("excluir", "tblpermissõesUsuários", Filtro), "false")
NomeForm.AllowAdditions = Nz(DLookup("inserir", "tblpermissõesUsuários", Filtro), "false")
End Function
Public Function fncPermissõesRpt(NomeRelatorio As Report) As Boolean
Dim Filtro As String
On Error Resume Next
fncPermissõesRpt = True
Filtro = "objeto = '" & NomeRelatorio.Name & "'"
Filtro = "Idfuncao = " & Nz(DLookup("idFuncao", "tblFunções", Filtro), 0) & " AND idUsuario =" & login.id
If Nz(DLookup("bloqueada", "tblpermissõesUsuários", Filtro), True) = True Or login.id = 0 Then
MsgBox "Acesso bloqueado...", vbInformation, "Aviso"
fncPermissõesRpt = False
End If
End Function