MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    Exibir Usuário Local em um BD compartilhado em rede

    Compartilhe

    GTI Semas
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 21/07/2015

    Exibir Usuário Local em um BD compartilhado em rede

    Mensagem  GTI Semas em Seg 15 Fev 2016, 11:19

    Bom dia a todos da comunidade, estou com um probleminha chato, criei um BD que funciona em rede sendo compartilhado por vários usuários (Tabelas Back e Formulários Front), ele está funcionando bem. Eu criei uma rotina para que ele crie um arquivo de texto com o registro de uso (log), do tipo: Quem, em que máquina, que dia e hora e o quê acessou. Também funciona bem, só que ele só registra o nome e usuário do servidor da rede e não da máquina local, já tentei vários códigos e comandos, mas sempre me mostra a identificação do servidor (nome e usuário windows), como tenho no BD uma tela de login, ele registra o nome do usuário que logou no sistema, mas fica "furada" a identificação de em que máquina e usuário windows ele estava.

    Eu uso esse código simples para exibir no cabeçalho do formulário as informações de usuário windows e maquina:
    Private Sub Form_Load()

    strCaption = "Computador: " & Environ("Computername")
    strCaption = strCaption & " *** Usuário: " & Environ("UserName")
    Me.Caption = strCaption

    End Sub
    Só que ele me mostra na verdade o nome do servidor de rede e do usuário windows do servidor de rede, e não o da máquina local em uso.

    Eu estou usando esse outro código para a criação do arquivo TXT de log na máquina Servidor:
    Private Sub Form_Close()
    'Lê o arquivo LOG criado e posiciona o cursor em uma nova linha
    Open "S:\RegLog\LogSIGPAS_" & Format(Date, "YYYY-MM") & ".log" For Append As #1

    'acrescenta nova linha, logo após a última linha existente
    Print #1, cbxLogin; ";"; Now; ";"; Environ("computername"); ";"; Environ("username"); ";"; Modulo
    Close #1
    End Sub

    Ele cria uma linha com esses dados no arquivo TXT de log:
    ....
    Admin;15/02/2016 08:14:15 ;SERVERSEMAS;Click;Exclusão de Registro RF
    Admin;15/02/2016 08:15:40 ;SERVERSEMAS;Click;Ferramentas Adminstrativas
    Admin;15/02/2016 08:17:28 ;SERVERSEMAS;Click;Ferramentas Adminstrativas
    Admin;15/02/2016 08:50:40 ;SERVERSEMAS;Click;Ferramentas Adminstrativas
    Admin;15/02/2016 08:52:48 ;SERVERSEMAS;Click;Prontuário Completo
    Admin;15/02/2016 09:06:29 ;SERVERSEMAS;Click;Ferramentas Adminstrativas
    ....
    Onde:
    Admin é o nome do usuário que logou na minha tela inicial do sistema;
    Segue a data e hora do acesso;
    SERVERSEMAS é o nome do servidor da rede, esse é que eu gostaria que ele mostrasse o nome da máquina local do usuário;
    Click é o nome do usuário Windows do servidor da rede, eu quero que ele mostre o nome do usuário logado no Windows local;
    Depois ele mostra o módulo que o usuário acessou, essa está OK.

    Alguma sugestão? Já queimei pestanas demais. Shocked

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8907
    Registrado : 04/11/2009

    Re: Exibir Usuário Local em um BD compartilhado em rede

    Mensagem  JPaulo em Seg 15 Fev 2016, 12:15

    Ola;

    Você está a utilizar variaveis de ambiente e ae é que está o problema.

    Teste com variaveis de uso em rede;

    Código:
    Private Sub Form_Load()
    Dim strUsuario$
    Dim strMaquina$

    strUsuario = CreateObject("wscript.network").UserName
    strMaquina = CreateObject("wscript.network").ComputerName

        strCaption = "Computador: " & strMaquina
        strCaption = strCaption & " *** Usuário: " & strUsuario
    Me.Caption = strCaption
    End Sub


    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    GTI Semas
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 21/07/2015

    Ainda na mesma

    Mensagem  GTI Semas em Seg 15 Fev 2016, 13:33

    Nada feito, mesmo com esse código continua apresentando o nome do Computador Servidor da rede e não do Computador Local onde o usuário esta trabalhando (assim como o nome usuário Windows).

    Private Sub Form_Load()
    Dim strUsuario$
    Dim strMaquina$

    strUsuario = CreateObject("wscript.network").UserName
    strMaquina = CreateObject("wscript.network").ComputerName

       strCaption = "Computador: " & strMaquina
       strCaption = strCaption & " *** Usuário: " & strUsuario
    Me.Caption = strCaption
    End Sub

    Teria que trocar "wscript.network" por algo tipo "wscript.local" (isso existe?)??
    Anexos
    Capturar.JPG
    Você não tem permissão para fazer download dos arquivos anexados.
    (13 Kb) Baixado 8 vez(es)

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8907
    Registrado : 04/11/2009

    Re: Exibir Usuário Local em um BD compartilhado em rede

    Mensagem  JPaulo em Seg 15 Fev 2016, 13:45

    Muito estranho.

    O código que passei funciona em rede e faz o GET ao usuario e computador Local.

    Testei aqui na rede da minha empresa e funcionou pleno, até porque já tinha testado em 2009.



    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    GTI Semas
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 21/07/2015

    GET

    Mensagem  GTI Semas em Ter 16 Fev 2016, 10:10

    Descobri o problema, o comando pega o nome do usuário do Windows, só que quando instalaram o Windows e pacote Office nos computadores daqui da prefeitura, colocaram o mesmo nome de usuário para todos os computadores, coisa de preguiçoso... Mereço.

    Estou tendo que alterar o nome por meio do Regedit

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
    Chaves: RegisteredOrganization e RegisteredOwner.

    Com isso funcionou, mas eu queria na verdade era que ele pegasse o nome do usuário Windows e não o nome do registro, ou seja, está acontecendo o seguinte: se a máquina tem 3 ou 4 usuários, ele armazena o mesmo nome que foi usado para o registro do Windows em todos eles.


    Última edição por GTI Semas em Ter 16 Fev 2016, 11:46, editado 4 vez(es)

    tauron
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 445
    Registrado : 07/12/2011

    Re: Exibir Usuário Local em um BD compartilhado em rede

    Mensagem  tauron em Ter 16 Fev 2016, 10:23

    um pitaco. olhe este exemplo do JPaulo

    [Você precisa estar registrado e conectado para ver este link.]

    elyanaa
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 1
    Registrado : 18/06/2013

    ADAPTAR CÓDIGO

    Mensagem  elyanaa em Sex 01 Abr 2016, 16:20

    Olá pessoal, fiz o teste com este código para ver se puxava os dados aqui da minha maquina e funcionou.


    Sou novata e tenho dificuldade em VBA

    Estou construindo um bano de dados e gostaria que toda vez que o usuario salvasse o novo cadastro, o campo matriuca fosse preenchido automaticamente puxando pelo usuario "login da maquina em rede" na tabela, poderiam me auxiliar .

    Quero armazenar apenas o login



    desde ja agradeço,
    Anexos
    Cadastro.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (39 Kb) Baixado 6 vez(es)

      Data/hora atual: Sab 03 Dez 2016, 15:36