MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Controle de alterações do Avelino

    Compartilhe
    avatar
    leoavila7
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 135
    Registrado : 04/12/2011

    [Resolvido]Controle de alterações do Avelino

    Mensagem  leoavila7 em Dom 03 Jul 2016, 04:41

    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:

    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! Surprised
    avatar
    FabioPaes
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3336
    Registrado : 14/08/2013

    Re: [Resolvido]Controle de alterações do Avelino

    Mensagem  FabioPaes em Dom 03 Jul 2016, 04:53

    Meu amigo, nesse mesmo aplicativo, salvo engano, tem o controle de acesso por usuaruio ( se nao tiver baixe o Maestro que tem). La no formulario Login, apos a confirmação das credenciais, o Sistema passa o Nome do Usuario e a ID para duas Variaveis Chamadas (login.ID e Login.Usuario), dessa forma, elas podem ser chamadas a qualquer momento no seu Aplicativo e retornara o Nome do Usuario Logado...

    Baseado nessa situação, onde vc tem e pode recuperar o Nome do Usuario Logado, basta alterar essa linha:
    strSql = strSql & "VALUES(""" & CreateObject("Wscript.network").UserName & """,'" & Now & "','" & bytOperação

    Para:

    strSql = strSql & "VALUES('" & Login.Usuario & "','" & Now & "','" & bytOperação


    Caso seu controle de acesso, esteja feito de outra forma, certamente vc colocou alguma forma de saber qual usuario esta logado certo? Entao basta colocar na parte em vermelho a Variavel, ou Campo...

    Caso nao consiga, nos fale como esta seu sistema, na parte de acesso...


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    leoavila7
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 135
    Registrado : 04/12/2011

    Re: [Resolvido]Controle de alterações do Avelino

    Mensagem  leoavila7 em Dom 03 Jul 2016, 23:38

    Na verdade o modelo que o Avelino disponibilizou não tem a função baseada em usuario logado...mas sua ajuda foi muito valiosa e agradeço demais. Grande abraço parceiro!

      Data/hora atual: Sab 21 Out 2017, 14:47