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


    No botão salvar, verifica todos os campos do registro e insere numa tabela histórico apenas os campos modificados.

    avatar
    FlavioLima
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 155
    Registrado : 14/02/2016

    No botão salvar, verifica todos os campos do registro e insere numa tabela histórico apenas os campos modificados. Empty No botão salvar, verifica todos os campos do registro e insere numa tabela histórico apenas os campos modificados.

    Mensagem  FlavioLima 7/10/2024, 18:31

    Colegas mais experientes, peço ajuda.

    Usando o código abaixo se um registro sofrer alterações o sistema insere numa tabela historico todos os dados daquele registro.

    Private Sub btsalvar_Click()

    If Me.Form.Dirty = True Then
    Me!DHNow.Value = Now
    DoCmd.RunCommand acCmdSaveRecord
    CurrentDb.Execute "INSERT INTO Tab_Hist (Cod_Registro, Data_Alteracao, Nome, Data, Detalhes) VALUES (" & Código.Value & ", '" & DHNow.Value & "', '" & txt_Nome.Value & "', '" & txt_Data.Value & "', '" & txt_Detalhes.Value & "')"
    End If

    End Sub

    O problema é que se forem muitos campos e apenas 1 foi alterado o código atual vai inserir todos os campos na tabela historico e depois fica dificil identificar qual campo foi alterado, e ainda tem campos Memorando que queria evitar de replicar sem necessidade.

    Assim, preciso de uma sugestão para salvar apenas o Cod_Registro, Data_Alteracao que seriam campos padrão e 1 ou mais campos que foram modificados, mas queria no botão salvar ou em uma function ou modulo ativada no botao salvar, pois se usar (por exemplo) no got_focus eu teria de colar esse código campo por campo e iria gerar vários registros para uma mesma alteração.

    Segue anexo um bd de teste.

    ps. O campo usuário eu já sei salvar, não coloquei aí pra não ter de fazer um sistema login.
    Anexos
    No botão salvar, verifica todos os campos do registro e insere numa tabela histórico apenas os campos modificados. AttachmentCampomodificado.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (42 Kb) Baixado 5 vez(es)
    avatar
    FlavioLima
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 155
    Registrado : 14/02/2016

    No botão salvar, verifica todos os campos do registro e insere numa tabela histórico apenas os campos modificados. Empty Re: No botão salvar, verifica todos os campos do registro e insere numa tabela histórico apenas os campos modificados.

    Mensagem  FlavioLima 10/10/2024, 03:08

    Ngm?

      Data/hora atual: 23/10/2024, 06:37