Boa noite mestres!
Copiei do site do Avelino um codigo de registro de açoes do usuario que permite auditar os usuarios. Ficou perfeito, mas um pequeno detalhe esta me quebrando a cabeça: preciso que o usuario registrado na tabela auditoria seja o usuario do aplicativo, e não o do computador conforme o codigo original. Segue abaixo o codigo extraido do site do amigo Avelino:
Pois então, o que eu gostaria que me ajudassem é com a questão que ele diz nesse trecho do artigo do site:
Para capturar o nome do usuário que faz as alterações, temos as seguintes situações:
a) utilizar a função CurrentUser(), caso o aplicativo tenha proteção a nível de usuário (MDW),
b) usar o nome do usuário logado no Windows. Opção empregada no aplicativo exemplo:
CreateObject("Wscript.network").UserName
ou
Environ("username")
c) usar o nome do usuário armazenado em uma tabela do aplicativo (tblUsuários). Neste caso, usamos a variável pública que contém o nome do usuário logado. O aplicativo Maestro disponível neste site, faz uso desta opção.
login.usuario
Quanto ao nome do computador, capturamos através da função Environ("ComputerName"). Você encontra maiores detalhes sobre a função Environ, neste meu artigo.
Para controlar as inclusões e as alterações de um formulário, usamos o evento Antes de atualizar do formulário.
Sei que alguns amigos ja conseguiram a façanha, mas ja procurei por todo o forum e nao achei nada especifico. Poderiam me ajudar com mais essa?
Grande abraço e muito agradecido!
Copiei do site do Avelino um codigo de registro de açoes do usuario que permite auditar os usuarios. Ficou perfeito, mas um pequeno detalhe esta me quebrando a cabeça: preciso que o usuario registrado na tabela auditoria seja o usuario do aplicativo, e não o do computador conforme o codigo original. Segue abaixo o codigo extraido do site do amigo Avelino:
- Código:
Public Sub fncAuditar(strNomeForm As String, bytOperação As Byte, strCampo As String)
'----------------------------------------------------------------------------------------------
'Argumento bytOperação : 0 - Inclusão | 1 - Alteração | 2 - Exclusão
'-----------------------------------------------------------------------------------------------
Dim strSql$
'----------------------------------------
'Estrutura da cosulta INSERT
'----------------------------------------
strSql = "INSERT INTO tblAuditoria (NomeUsuario, DataOperação, TipoOperação,"
strSql = strsql & "MaquinaOrigem, NomeFormulario, identificação) "
strSql = strSql & "VALUES(""" & CreateObject("Wscript.network").UserName & """,'" & Now & "','" & bytOperação
strSql = strSql & "','" & Environ("computername") & "','" & strNomeForm & "',""" & strCampo & """);"
'------------------------------------
'Executando a consulta
'------------------------------------
CurrentDb.Execute strSql
End Sub
Pois então, o que eu gostaria que me ajudassem é com a questão que ele diz nesse trecho do artigo do site:
Para capturar o nome do usuário que faz as alterações, temos as seguintes situações:
a) utilizar a função CurrentUser(), caso o aplicativo tenha proteção a nível de usuário (MDW),
b) usar o nome do usuário logado no Windows. Opção empregada no aplicativo exemplo:
CreateObject("Wscript.network").UserName
ou
Environ("username")
c) usar o nome do usuário armazenado em uma tabela do aplicativo (tblUsuários). Neste caso, usamos a variável pública que contém o nome do usuário logado. O aplicativo Maestro disponível neste site, faz uso desta opção.
login.usuario
Quanto ao nome do computador, capturamos através da função Environ("ComputerName"). Você encontra maiores detalhes sobre a função Environ, neste meu artigo.
Para controlar as inclusões e as alterações de um formulário, usamos o evento Antes de atualizar do formulário.
Sei que alguns amigos ja conseguiram a façanha, mas ja procurei por todo o forum e nao achei nada especifico. Poderiam me ajudar com mais essa?
Grande abraço e muito agradecido!