MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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


2 participantes

    Campo para registrar a data e usuário da última alteração.

    OLDRIVG
    OLDRIVG
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 374
    Registrado : 20/07/2010

    Campo para registrar a data e usuário da última alteração. Empty Campo para registrar a data e usuário da última alteração.

    Mensagem  OLDRIVG 24/2/2012, 19:04

    Caros colegas, boa tarde!

    No formulário existe um campo que registra a data de atualização que houver no registro. Ele está funcionando legal. Só que está registrando a data que se acessa o registro mesmo sem fazer qualquer alteração. Como fazer para que se registre a data somente quando houver alteração?

    Aproveitando o tópico, tem, ainda, um campo "usuário" que não está funcionando. Com proceder para que ele grave o nome do usuário que realizou somente inclusão ou alteração, na tabela respectiva?
    Mais uma vez, obrigado.
    Abrçaos
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Campo para registrar a data e usuário da última alteração. Empty Re: Campo para registrar a data e usuário da última alteração.

    Mensagem  criquio 24/2/2012, 19:20

    Seria útil postar o código que está utilizando para podermos ver melhor como está fazendo o trabalho para ver aonde alterar. Mas geralmente você precisaria colocar uma condição If para verificar se o campo da tabela é diferente do campo do formulário.

    No caso do usuário, é o usuário do Windows ou o usuário logado no aplicativo? Para o do Windows, pode usar a instrução Environ("UserName") para pegar o usuário. Se for usuário logado no aplicativo, aí é só usar um DLookup para buscar ele na tabela ou talvez de um campo do formulário.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    OLDRIVG
    OLDRIVG
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 374
    Registrado : 20/07/2010

    Campo para registrar a data e usuário da última alteração. Empty Re: Campo para registrar a data e usuário da última alteração.

    Mensagem  OLDRIVG 24/2/2012, 19:50

    Olá, Criquio. Boa tarde!

    Com relação ao campo data,(DataUltimaAtualizacao), eu fiz da seguinte forma:

    Nas propriedades do campo
    Mascara de entrada 00/00/0000;0;
    Valor Padrão =Data()

    Nas propriedade do formulário
    No evento "Antes de Atualizar", coloquei
    DataUltimaAtualizacao = Date
    Nada mais em nenhum outro local do formulário.

    E me esqueci, tem o campo "DataRealizacaoCadastro" que coloquei no evento "No Atual"" do formulário da seguinte forma:

    If Me.Form.NewRecord Then
    Me.DataRealizacaoCadastro = ""
    Me.DataRealizacaoCadastro = Date
    Else
    End If
    .

    Uma pergunta didática:
    o campo DataRealizacaoCadastro somente irá atualziar para os registros que forem inseridos depois da implementação ou tem como fazer com que este campo pegue a data da migração dos dados do antigo BD para o novo?
    Agradeço
    Abraços
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Campo para registrar a data e usuário da última alteração. Empty Re: Campo para registrar a data e usuário da última alteração.

    Mensagem  criquio 24/2/2012, 20:22

    Talvez fosse melhor colocar uma função para avaliar se não é registro novo. Caso não seja, verificar se algum campo no formulário está diferente dos campos da tabela para o registro exibido no momento. Se estiver, muda a data de alteração. Algo como:

    Dim cmp As Control

    If Not Me.NewRecord Then
    For Each cmp In Me.Controls
    If cmp <> DLookup(" & cmp & ", "NomeDaTabela", "Código=" & Me.Código) Then
    CurrentDb.Execute "UPDATE NomeDaTabela SET CampoData=" & Date & ""
    End If
    Next
    End If


    Nesse caso, estamos supondo que os nomes dos campos no formulário sejam os mesmos da tabela. Pode ser necessário adaptar alguma coisa.


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    OLDRIVG
    OLDRIVG
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 374
    Registrado : 20/07/2010

    Campo para registrar a data e usuário da última alteração. Empty Re: Campo para registrar a data e usuário da última alteração.

    Mensagem  OLDRIVG 24/2/2012, 20:59

    Ok, Criquio.

    Todos os campos(99)acoplados do formulário tem o mesmo nome da dos campos da tabela.

    Fiz as adaptações ao código que enviou e ficou assim o código:

    Dim cmp As Control

    If Not Me.NewRecord Then
    For Each cmp In Me.Controls
    If cmp <> DLookup(" & cmp & ", "Tbl_GERAL", "Código=" & Me.Código) Then
    CurrentDb.Execute "UPDATE Tbl_GERAL SET dataultimaatualizacao=" & Date & ""
    End If
    Next
    End If

    Está retornando um erro de compilação: "Inválido fora de um procedimento" e aponta a linha If Not Me.NewRecord Then,com destaque para "Me".
    O que sugere?
    Agradeço
    Abraços
    criquio
    criquio
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Campo para registrar a data e usuário da última alteração. Empty Re: Campo para registrar a data e usuário da última alteração.

    Mensagem  criquio 24/2/2012, 21:24

    Mude para If Me.NewRecord = False Then


    .................................................................................
    Meu novo site: www.vcssistemas.com.br

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.

    OLDRIVG
    OLDRIVG
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 374
    Registrado : 20/07/2010

    Campo para registrar a data e usuário da última alteração. Empty Re: Campo para registrar a data e usuário da última alteração.

    Mensagem  OLDRIVG 24/2/2012, 21:52

    Criquio,
    infelizmente deu o mesmo erro.
    Abraços
    avatar
    Convidad
    Convidado


    Campo para registrar a data e usuário da última alteração. Empty Re: Campo para registrar a data e usuário da última alteração.

    Mensagem  Convidad 24/2/2012, 22:07


    Parece que está faltando colocar o código dentro de um procedimento de evento.
    avatar
    Convidado
    Convidado


    Campo para registrar a data e usuário da última alteração. Empty Re: Campo para registrar a data e usuário da última alteração.

    Mensagem  Convidado 26/2/2012, 03:39

    é no atual....
    avatar
    Convidado
    Convidado


    Campo para registrar a data e usuário da última alteração. Empty Re: Campo para registrar a data e usuário da última alteração.

    Mensagem  Convidado 26/2/2012, 03:53

    Boa noite colega Oldri....fiz como o mestre JPaulo disponibilou.
    1º tem de ter um campo na tabela como por exemplo o nome de "DataAlteracao"
    2º coloque esse campo no seu form, em modo de Visivel=Não.
    3º no evento depois de atualizar do seu form coloque:
    Private Sub Form_BeforeUpdate(Cancel As Integer)
    Me!DataAlteracao = Agora() ou Now()
    End Sub
    ou seja toda a vez que o form for atualizado ele altera a data, se for só visualizado mantem a data existente.

    OLDRIVG
    OLDRIVG
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 374
    Registrado : 20/07/2010

    Campo para registrar a data e usuário da última alteração. Empty Re: Campo para registrar a data e usuário da última alteração.

    Mensagem  OLDRIVG 26/2/2012, 05:05

    Colega Cafpr,
    não funcionou. Mas achei uma forma de registrar a data da ultima alteração. Mais trabalhoso, mas achei. Fiz o seguinte: em todos os campos do formulário em referenciei o campo DataUltimaAtulização com o código Me.DataUltimaAtualizacao = Date, no evento após atualizar.
    Como eu não sei se existe uma sintaxe que faça um mesmo código funcionar em todos os campo de um formulário, fiz um a um.
    Agora fica faltando achar a forma de registrar o nome do usuário logado ao BD e as alterações (esqueci das alterações na abertura do tópico), tipo uma auditoria.
    Agradecendo e no aguardo de ajuda.
    Obrigado
    Abraços
    avatar
    Convidado
    Convidado


    Campo para registrar a data e usuário da última alteração. Empty Re: Campo para registrar a data e usuário da última alteração.

    Mensagem  Convidado 26/2/2012, 05:33

    Oldri, como diz o mestro JPaulo "existe mil maneiras de se fazer neston" contigo não deu certo e comigo deu, enfim objetivo alcançado é o que importa.....
    Tem um modelo do JPaulo quase perfeito, ao inves de pegar o usuário ele pega o da maquina.... amanhã tentarei entrar em contato com ele e pedir se possivel uma alteração....
    Até lá vou pensar em algo para lhe ajudar....ate amigão.....
    avatar
    Convidado
    Convidado


    Campo para registrar a data e usuário da última alteração. Empty Re: Campo para registrar a data e usuário da última alteração.

    Mensagem  Convidado 26/2/2012, 05:44

    Já viu este modelo?

    http://speedy.sh/b43jU/QuemIntroduziuQuemAlterou.rar
    OLDRIVG
    OLDRIVG
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 374
    Registrado : 20/07/2010

    Campo para registrar a data e usuário da última alteração. Empty Re: Campo para registrar a data e usuário da última alteração.

    Mensagem  OLDRIVG 26/2/2012, 12:14

    Colega Cafpr, bom dia!

    Agradeço-lhe o empenho.
    Vi o exemplo que me enviou, mas ele não está mudando o usuário logado. Só fica o "Vilmar".

    3 perguntinhas a respeito do exemplo:

    1 - Como se faz para cadastrar um usuário? Direto na tabela ou tem que criar um formulário para isto?
    2 - Onde ver o que foi modificado?
    3 - Como cancelar, ou fechar, o frm login sem fechar o BD e sem que seja necessário errar 3 vezes?

    Eu baixei um exemplo(me parece que foi em www.informeaccess.com.br, não tenho certeza) de um BD com auditoria que é o ideal para o que estou previsando. Mas tenho um problema; não estou conseguindo adaptá-lo ao meu BD? Vou disponibilizá-lo aqui e, caso não se importe, peço-lhe que dê uma avaliada e me dê uma luz de onde começar para implementá-lo no BD que estou construindo. Principalmente nos módulos existentes.
    algumas dúvidas:
    tem que fazer mudanças nas funções do exemplo?
    no formulário do BD em construção tem que por algum código? Onde e como?
    Agradeço antecipadamente.
    Abraços
    Anexos
    Campo para registrar a data e usuário da última alteração. AttachmentAuditTrail.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (66 Kb) Baixado 130 vez(es)
    avatar
    Convidado
    Convidado


    Campo para registrar a data e usuário da última alteração. Empty Re: Campo para registrar a data e usuário da última alteração.

    Mensagem  Convidado 26/2/2012, 12:45

    Bom dia Oldri... realmente o exemplo que lhe passei deixa muito a desejar, até pode fazer o que diz...mas teria que correr atras e ver o porque do não. conclusão abandoná-lo(penso eu). O que você disponibilzou faz como outro que tenho aqui grava o usuári do pc e não o do Bd, então esta fora também. Surgindo alguma novidade lhe passo imediaamente....
    OLDRIVG
    OLDRIVG
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 374
    Registrado : 20/07/2010

    Campo para registrar a data e usuário da última alteração. Empty Re: Campo para registrar a data e usuário da última alteração.

    Mensagem  OLDRIVG 26/2/2012, 12:58

    Ok. Ficarei no aguardo
    Obrigado.

    Conteúdo patrocinado


    Campo para registrar a data e usuário da última alteração. Empty Re: Campo para registrar a data e usuário da última alteração.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 00:14