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


3 participantes

    [Resolvido] Registra um Histórico de alterações - Dúvida

    RneoX
    RneoX
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 246
    Registrado : 26/07/2011

    [Resolvido] Registra um Histórico de alterações - Dúvida Empty [Resolvido] Registra um Histórico de alterações - Dúvida

    Mensagem  RneoX 27/8/2012, 13:25

    Referente ao exemplo Registra um Histórico de alterações
    Tópico dividido pelo moderador Criquio
    Motivo: segundo as regras do fórum, não postar dúvidas nos tópicos das salas de exemplo

    Paulo desculpe eu ressucitar este tópico, preciso de uma força...

    Estou usando seu código:
    If ctl.Value <> ctl.OldValue Or (IsNull(ctl.Value) Or ctl.Value = "") Then

    porém não sei por que ele está pegando campos em branco para branco e salvando e tornando uma tabela histórico gigantesca. Pelo meu ponto de vista que não é grande coisa, o código está certo.

    Minha solução por enquando é filtrar o campo antigo e atual como null ou vazio e usar uma consulta exclusão para apagar sempre que o banco for fechado...

    Existe uma maneira de não registrar estes campos em branco inalterados?

    um exemplo do que acontece:

    Utilizador_|_LogData_____________|_NomeForm_|_NomeCampo____|_ValorAntigo_|_ValorAtual_|_Status
    Dennis_____|_27/08/2012 08:57:38_|_NRBC_____|_UR% Final____|_____________|____________|Registro Alterado
    Dennis_____|_27/08/2012 08:57:38_|_NRBC_____|_UR% Inicial__|_____________|____________|Registro Alterado
    Dennis_____|_27/08/2012 08:57:38_|_NRBC_____|_TempFinal____|_____________|____________|Registro Alterado
    Dennis_____|_27/08/2012 08:57:38_|_NRBC_____|_TempInicial__|_____________|____________|Registro Alterado
    Dennis_____|_27/08/2012 08:57:38_|_NRBC_____|_CD___________|_____________|____________|Registro Alterado


    Última edição por dhtm15 em 28/8/2012, 17:36, editado 2 vez(es)


    .................................................................................
    Conhece meus projetos que ajudam os usuários a entender o funcionamento de várias funções encontradas aqui no fórum? também pode usa-lo para seus negócios ou para uso pessoal, não conhece? então visite aqui e veja como está bacana: Projeto Casco do Máximo Access v3.0 (Pré-Release 4.0) 
    Ser livre é ter liberdade para expressar suas idéias,
    Ser diferente é ser especial e o reverso da igualdade,
    Ser criativo é ser poderoso,
    Ter conhecimentos e não dividir-los é ser egoísta e orgulhoso,
    Ensinar é um prazer que todos devem ter por seus alunos, pois é dele que vem nossos troféus.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido] Registra um Histórico de alterações - Dúvida Empty Re: [Resolvido] Registra um Histórico de alterações - Dúvida

    Mensagem  JPaulo 27/8/2012, 13:51

    Veja este tópico;

    http://maximoaccess.forumeiros.com/t9158-resolvidoadaptacao-do-exemplo-registra-um-historico-de-alteracoes


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido] Registra um Histórico de alterações - Dúvida Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido] Registra um Histórico de alterações - Dúvida Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido] Registra um Histórico de alterações - Dúvida Folder_announce_new Instruções SQL como utilizar...
    RneoX
    RneoX
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 246
    Registrado : 26/07/2011

    [Resolvido] Registra um Histórico de alterações - Dúvida Empty Re: [Resolvido] Registra um Histórico de alterações - Dúvida

    Mensagem  RneoX 27/8/2012, 14:02

    pelo que eu percebi você tirou os null e "" e deixou somente: If ctl.Value <> ctl.OldValue Then

    é isto que eu entendi para que possa resolver?


    .................................................................................
    Conhece meus projetos que ajudam os usuários a entender o funcionamento de várias funções encontradas aqui no fórum? também pode usa-lo para seus negócios ou para uso pessoal, não conhece? então visite aqui e veja como está bacana: Projeto Casco do Máximo Access v3.0 (Pré-Release 4.0) 
    Ser livre é ter liberdade para expressar suas idéias,
    Ser diferente é ser especial e o reverso da igualdade,
    Ser criativo é ser poderoso,
    Ter conhecimentos e não dividir-los é ser egoísta e orgulhoso,
    Ensinar é um prazer que todos devem ter por seus alunos, pois é dele que vem nossos troféus.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido] Registra um Histórico de alterações - Dúvida Empty Re: [Resolvido] Registra um Histórico de alterações - Dúvida

    Mensagem  JPaulo 27/8/2012, 14:11

    Faça você mesmo o teste e retorne.

    Não esquecer que não existe qualquer problema no exemplo original, ele foi elaborado assim mesmo, e cada usuário pode adaptar às suas necessidades.



    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido] Registra um Histórico de alterações - Dúvida Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido] Registra um Histórico de alterações - Dúvida Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido] Registra um Histórico de alterações - Dúvida Folder_announce_new Instruções SQL como utilizar...
    RneoX
    RneoX
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 246
    Registrado : 26/07/2011

    [Resolvido] Registra um Histórico de alterações - Dúvida Empty Re: [Resolvido] Registra um Histórico de alterações - Dúvida

    Mensagem  RneoX 27/8/2012, 16:41

    não estou conseguindo mesmo...

    Ele salva todos os campos em brancos, e quando um campo em branco é preenchido também não salva no histórico.

    me de uma luz por favor! Sad


    .................................................................................
    Conhece meus projetos que ajudam os usuários a entender o funcionamento de várias funções encontradas aqui no fórum? também pode usa-lo para seus negócios ou para uso pessoal, não conhece? então visite aqui e veja como está bacana: Projeto Casco do Máximo Access v3.0 (Pré-Release 4.0) 
    Ser livre é ter liberdade para expressar suas idéias,
    Ser diferente é ser especial e o reverso da igualdade,
    Ser criativo é ser poderoso,
    Ter conhecimentos e não dividir-los é ser egoísta e orgulhoso,
    Ensinar é um prazer que todos devem ter por seus alunos, pois é dele que vem nossos troféus.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido] Registra um Histórico de alterações - Dúvida Empty Re: [Resolvido] Registra um Histórico de alterações - Dúvida

    Mensagem  JPaulo 28/8/2012, 10:01

    Dennis amigão, bom dia !

    Anexe aqui o seu banco, ou envie para o meu email e diga-me qual o formulario.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido] Registra um Histórico de alterações - Dúvida Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido] Registra um Histórico de alterações - Dúvida Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido] Registra um Histórico de alterações - Dúvida Folder_announce_new Instruções SQL como utilizar...
    RneoX
    RneoX
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 246
    Registrado : 26/07/2011

    [Resolvido] Registra um Histórico de alterações - Dúvida Empty Re: [Resolvido] Registra um Histórico de alterações - Dúvida

    Mensagem  RneoX 28/8/2012, 12:31

    Bom dia JPaulo!
    Anexei o banco no skydrive, compactei em winrar, é só colar na C:\ e abrir um dos atalhos
    Usuário: Dennis
    Senha: 0790

    https://xwq64w.blu.livefilestore.com/y1pSnvKCqOw49o_iiqdpKxtmEaVHRi00sZSXeIZfFZ5me1_XFosjwm8kCAwy1fgmjdHl_g0VWPgYIGu5N6fgYWErQ/Laudos%20Cliente.rar?download&psid=1

    ou

    https://skydrive.live.com/?cid=8c0a8d01b183ba74#cid=8C0A8D01B183BA74&id=8C0A8D01B183BA74!104

    Arquivo: Laudos Cliente.rar

    [Editado]
    Esqueci de mencionar, qualquer formulário tem está função, mas se for dar uma olhada pode ser na principal Formulário_CadastroDeEquipamentosNRBC


    Última edição por dhtm15 em 28/8/2012, 12:33, editado 1 vez(es) (Motivo da edição : Formulário)


    .................................................................................
    Conhece meus projetos que ajudam os usuários a entender o funcionamento de várias funções encontradas aqui no fórum? também pode usa-lo para seus negócios ou para uso pessoal, não conhece? então visite aqui e veja como está bacana: Projeto Casco do Máximo Access v3.0 (Pré-Release 4.0) 
    Ser livre é ter liberdade para expressar suas idéias,
    Ser diferente é ser especial e o reverso da igualdade,
    Ser criativo é ser poderoso,
    Ter conhecimentos e não dividir-los é ser egoísta e orgulhoso,
    Ensinar é um prazer que todos devem ter por seus alunos, pois é dele que vem nossos troféus.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido] Registra um Histórico de alterações - Dúvida Empty Re: [Resolvido] Registra um Histórico de alterações - Dúvida

    Mensagem  JPaulo 28/8/2012, 12:44

    Não consegui a brir o seu banco.

    Anexe aqui, um banco novo apenas com as tabelas envolvidas e o formulario.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido] Registra um Histórico de alterações - Dúvida Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido] Registra um Histórico de alterações - Dúvida Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido] Registra um Histórico de alterações - Dúvida Folder_announce_new Instruções SQL como utilizar...
    RneoX
    RneoX
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 246
    Registrado : 26/07/2011

    [Resolvido] Registra um Histórico de alterações - Dúvida Empty Re: [Resolvido] Registra um Histórico de alterações - Dúvida

    Mensagem  RneoX 28/8/2012, 13:04

    Tenta agora, liberei tudo para todos os usuários como administrador.


    .................................................................................
    Conhece meus projetos que ajudam os usuários a entender o funcionamento de várias funções encontradas aqui no fórum? também pode usa-lo para seus negócios ou para uso pessoal, não conhece? então visite aqui e veja como está bacana: Projeto Casco do Máximo Access v3.0 (Pré-Release 4.0) 
    Ser livre é ter liberdade para expressar suas idéias,
    Ser diferente é ser especial e o reverso da igualdade,
    Ser criativo é ser poderoso,
    Ter conhecimentos e não dividir-los é ser egoísta e orgulhoso,
    Ensinar é um prazer que todos devem ter por seus alunos, pois é dele que vem nossos troféus.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido] Registra um Histórico de alterações - Dúvida Empty Re: [Resolvido] Registra um Histórico de alterações - Dúvida

    Mensagem  JPaulo 28/8/2012, 13:48

    Substitua o codigo do seu formulario CadastroDeEquipamentosNRBC, por este e teste;



    Private Sub Form_BeforeUpdate(Cancel As Integer)
    Dim strChekaDiferente As Boolean
    Dim strSQL As String
    Dim ctl As Control
    Dim strUser As String
    'By JPaulo ® Maximo Access
    'http://maximoaccess.forumeiros.com/
    '2010-06-11
    'Importante: Todos os botões de navegação devem conter a
    'chamada de toda esta instrução.
    'O form não deve ter o botão fechar ativo, deve colocar um botão para esse efeito e chamar a instrução.

    On Error Resume Next
    strChekaDiferente = False
    strUser = CurrentUser() 'Para pegar o nome do usuário do computador (Windows) coloque este código GetUserName_TSB

    For Each ctl In Me.Controls
    ' Percorre todos os tipos de controles
    Select Case ctl.ControlType
    Case acTextBox, acComboBox, acListBox, acOptionGroup, acCheckBox

    If ctl.Value <> ctl.OldValue Then
    'se algum valor foi alterado ou deletado, coloca a variável de chekar alterações como True
    strChekaDiferente = True
    'e registra na tabela do Log
    DoCmd.SetWarnings False
    strSQL = "INSERT INTO zhist (Utilizador, LogData, NomeForm, NomeCampo, ValorAntigo, ValorAtual, Status) Values('" & strUser & "', Now(),'" & Me.Form.Name & "','" & ctl.Name & "','" & ctl.OldValue & "','" & ctl.Value & "','" & "Registro Alterado" & "')"
    DoCmd.RunSQL strSQL
    DoCmd.SetWarnings True
    'termina e volta a colocar a variável de chekar alterações como False
    strChekaDiferente = False
    Else
    Me.Refresh
    End If

    End Select
    Next ctl
    'Salva tudo o que foi feito
    DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
    End Sub


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido] Registra um Histórico de alterações - Dúvida Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido] Registra um Histórico de alterações - Dúvida Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido] Registra um Histórico de alterações - Dúvida Folder_announce_new Instruções SQL como utilizar...
    RneoX
    RneoX
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 246
    Registrado : 26/07/2011

    [Resolvido] Registra um Histórico de alterações - Dúvida Empty Re: [Resolvido] Registra um Histórico de alterações - Dúvida

    Mensagem  RneoX 28/8/2012, 13:57

    Muito obrigado, Funcionou perfeitamente.
    Agora quando eu apago uma informação inteira de um campo texto ele não registra que foi alterado para null, eu teria que adicionar mais algum código para salvar está alteração?


    .................................................................................
    Conhece meus projetos que ajudam os usuários a entender o funcionamento de várias funções encontradas aqui no fórum? também pode usa-lo para seus negócios ou para uso pessoal, não conhece? então visite aqui e veja como está bacana: Projeto Casco do Máximo Access v3.0 (Pré-Release 4.0) 
    Ser livre é ter liberdade para expressar suas idéias,
    Ser diferente é ser especial e o reverso da igualdade,
    Ser criativo é ser poderoso,
    Ter conhecimentos e não dividir-los é ser egoísta e orgulhoso,
    Ensinar é um prazer que todos devem ter por seus alunos, pois é dele que vem nossos troféus.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido] Registra um Histórico de alterações - Dúvida Empty Re: [Resolvido] Registra um Histórico de alterações - Dúvida

    Mensagem  JPaulo 28/8/2012, 14:57

    Isso é porque o codigo está a correr no evento Form_BeforeUpdate.

    Deveria estar a funcionar no evento de um botão salver por exemplo, ou fechar o form e tambem de estar no evento ao mover entre registros.



    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido] Registra um Histórico de alterações - Dúvida Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido] Registra um Histórico de alterações - Dúvida Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido] Registra um Histórico de alterações - Dúvida Folder_announce_new Instruções SQL como utilizar...
    RneoX
    RneoX
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 246
    Registrado : 26/07/2011

    [Resolvido] Registra um Histórico de alterações - Dúvida Empty Re: [Resolvido] Registra um Histórico de alterações - Dúvida

    Mensagem  RneoX 28/8/2012, 15:03

    então eu deveria remover do before_update e colocar nesses 3 lugares? botão salvar, ao fechar e em sujo?


    .................................................................................
    Conhece meus projetos que ajudam os usuários a entender o funcionamento de várias funções encontradas aqui no fórum? também pode usa-lo para seus negócios ou para uso pessoal, não conhece? então visite aqui e veja como está bacana: Projeto Casco do Máximo Access v3.0 (Pré-Release 4.0) 
    Ser livre é ter liberdade para expressar suas idéias,
    Ser diferente é ser especial e o reverso da igualdade,
    Ser criativo é ser poderoso,
    Ter conhecimentos e não dividir-los é ser egoísta e orgulhoso,
    Ensinar é um prazer que todos devem ter por seus alunos, pois é dele que vem nossos troféus.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido] Registra um Histórico de alterações - Dúvida Empty Re: [Resolvido] Registra um Histórico de alterações - Dúvida

    Mensagem  JPaulo 28/8/2012, 15:31

    Pode colocar apenas no botão salvar, e nos outros eventos chamar sempre esse botão;

    Exemplo no botão ao navegar;

    Private Sub SeuBotaoAvançar_Click()
    Call SeuSalvar_Click
    DoCmd.GoToRecord , , acNext
    End Sub






    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido] Registra um Histórico de alterações - Dúvida Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido] Registra um Histórico de alterações - Dúvida Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido] Registra um Histórico de alterações - Dúvida Folder_announce_new Instruções SQL como utilizar...
    RneoX
    RneoX
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 246
    Registrado : 26/07/2011

    [Resolvido] Registra um Histórico de alterações - Dúvida Empty Re: [Resolvido] Registra um Histórico de alterações - Dúvida

    Mensagem  RneoX 28/8/2012, 15:42

    entendi, fiz de acordo como pediu,

    Removi do formulários os seletores de registros, sem botões fechar e maximizar, barra de rolagem, quase tudo, e coloquei em botões,
    <<  <   >  >>  X   `/ salvar
    mas quando eu deixo um campo que tinha alguma informação em branco ele realmente não salva, e quando um campo em branco é preenchido também não salva, será algum módulo que esteja atrapalhando em algo?


    .................................................................................
    Conhece meus projetos que ajudam os usuários a entender o funcionamento de várias funções encontradas aqui no fórum? também pode usa-lo para seus negócios ou para uso pessoal, não conhece? então visite aqui e veja como está bacana: Projeto Casco do Máximo Access v3.0 (Pré-Release 4.0) 
    Ser livre é ter liberdade para expressar suas idéias,
    Ser diferente é ser especial e o reverso da igualdade,
    Ser criativo é ser poderoso,
    Ter conhecimentos e não dividir-los é ser egoísta e orgulhoso,
    Ensinar é um prazer que todos devem ter por seus alunos, pois é dele que vem nossos troféus.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido] Registra um Histórico de alterações - Dúvida Empty Re: [Resolvido] Registra um Histórico de alterações - Dúvida

    Mensagem  JPaulo 28/8/2012, 16:22

    Só testando, porque o If ctl.Value <> ctl.OldValue Then tem de funfar.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido] Registra um Histórico de alterações - Dúvida Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido] Registra um Histórico de alterações - Dúvida Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido] Registra um Histórico de alterações - Dúvida Folder_announce_new Instruções SQL como utilizar...
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido] Registra um Histórico de alterações - Dúvida Empty Re: [Resolvido] Registra um Histórico de alterações - Dúvida

    Mensagem  JPaulo 28/8/2012, 17:01

    Testado;

    Substitua por este;



    Private Sub Form_BeforeUpdate(Cancel As Integer)
    Dim strChekaDiferente As Boolean
    Dim strSQL As String
    Dim ctl As control
    Dim strUser As String
    'By JPaulo ® Maximo Access
    'http://maximoaccess.forumeiros.com/
    '2010-06-11
    'Importante: Todos os botões de navegação devem conter a
    'chamada de toda esta instrução.
    'O form não deve ter o botão fechar ativo, deve colocar um botão para esse efeito e chamar a instrução.

    On Error Resume Next
    strChekaDiferente = False
    strUser = CurrentUser() 'Para pegar o nome do usuário do computador (Windows) coloque este código GetUserName_TSB

    For Each ctl In Me.Controls
    ' Percorre todos os tipos de controles
    Select Case ctl.ControlType
    Case acTextBox, acComboBox, acListBox, acOptionGroup, acCheckBox

    If ctl.Value <> ctl.OldValue Or IsNull(ctl.Value) Then
    'se algum valor foi alterado ou deletado, coloca a variável de chekar alterações como True
    strChekaDiferente = True
    'e registra na tabela do Log
    DoCmd.SetWarnings False
    strSQL = "INSERT INTO zhist (Utilizador, LogData, NomeForm, NomeCampo, ValorAntigo, ValorAtual, Status) Values('" & strUser & "', Now(),'" & Me.Form.Name & "','" & ctl.Name & "','" & ctl.OldValue & "','" & ctl.Value & "','" & "Registro Alterado" & "')"
    DoCmd.RunSQL strSQL
    DoEvents
    CurrentDb.Execute "DELETE * FROM zhist WHERE [ValorAntigo]=' ' ", dbFailOnError
    DoCmd.SetWarnings True
    'termina e volta a colocar a variável de chekar alterações como False
    strChekaDiferente = False
    Else
    Me.Refresh
    End If

    End Select
    Next ctl

    'Salva tudo o que foi feito
    DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
    End Sub





    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido] Registra um Histórico de alterações - Dúvida Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido] Registra um Histórico de alterações - Dúvida Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido] Registra um Histórico de alterações - Dúvida Folder_announce_new Instruções SQL como utilizar...
    RneoX
    RneoX
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 246
    Registrado : 26/07/2011

    [Resolvido] Registra um Histórico de alterações - Dúvida Empty Re: [Resolvido] Registra um Histórico de alterações - Dúvida

    Mensagem  RneoX 28/8/2012, 17:35

    Exatamente isto que eu queria!

    Muito obrigado JPaulo, e desculpe ter tomado seu tempo.

    Att. Dennis Henrique


    .................................................................................
    Conhece meus projetos que ajudam os usuários a entender o funcionamento de várias funções encontradas aqui no fórum? também pode usa-lo para seus negócios ou para uso pessoal, não conhece? então visite aqui e veja como está bacana: Projeto Casco do Máximo Access v3.0 (Pré-Release 4.0) 
    Ser livre é ter liberdade para expressar suas idéias,
    Ser diferente é ser especial e o reverso da igualdade,
    Ser criativo é ser poderoso,
    Ter conhecimentos e não dividir-los é ser egoísta e orgulhoso,
    Ensinar é um prazer que todos devem ter por seus alunos, pois é dele que vem nossos troféus.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido] Registra um Histórico de alterações - Dúvida Empty Re: [Resolvido] Registra um Histórico de alterações - Dúvida

    Mensagem  JPaulo 28/8/2012, 17:45

    O fórum é que agradece o seu retorno.



    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido] Registra um Histórico de alterações - Dúvida Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido] Registra um Histórico de alterações - Dúvida Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido] Registra um Histórico de alterações - Dúvida Folder_announce_new Instruções SQL como utilizar...
    avatar
    messias.cadete
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 69
    Registrado : 04/05/2012

    [Resolvido] Registra um Histórico de alterações - Dúvida Empty Re: [Resolvido] Registra um Histórico de alterações - Dúvida

    Mensagem  messias.cadete 28/10/2012, 00:19

    Olá JPaulo,

    Antes de tudo gostaria de saber se posso postar em um forum que já foi encerrado ou se tenho que criar um novo. Estou usando este código ele esta funcionando perfeitamente, só que na tabela histórico eu crie mais uma coluna chamada NumeroLançamento, como eu faço para ele registar o numero do registro para eu ficar sabendo qual foi o registro que foi feito alteração no formulário, isso é possível?

    Dim strChekaDiferente As Boolean
    Dim strSQL As String
    Dim ctl As Control
    Dim strUser As String
    'By JPaulo ® Maximo Access
    'http://maximoaccess.forumeiros.com/
    '2010-06-11
    'Importante: Todos os botões de navegação devem conter a
    'chamada de toda esta instrução.
    'O form não deve ter o botão fechar ativo, deve colocar um botão para esse efeito e chamar a instrução.

    On Error Resume Next
    strChekaDiferente = False
    strUser = getUsuarioAtual() 'Para pegar o nome do usuário do computador (Windows) coloque este código GetUserName_TSB

    For Each ctl In Me.Controls
    ' Percorre todos os tipos de controles
    Select Case ctl.ControlType
    Case acTextBox, acComboBox, acListBox, acOptionGroup, acCheckBox

    If ctl.value <> ctl.OldValue Or IsNull(ctl.value) Then
    'se algum valor foi alterado ou deletado, coloca a variável de chekar alterações como True
    strChekaDiferente = True
    'e registra na tabela do Log
    DoCmd.SetWarnings False
    strSQL = "INSERT INTO zhist (Utilizador, LogData, NomeForm, NomeCampo, ValorAntigo, ValorAtual, Status) Values('" & strUser & "', Now(),'" & Me.Form.Name & "','" & ctl.Name & "','" & ctl.OldValue & "','" & ctl.value & "','" & "Registro Alterado" & "')"
    DoCmd.RunSQL strSQL
    DoEvents
    CurrentDb.Execute "DELETE * FROM zhist WHERE [ValorAntigo]=' ' ", dbFailOnError
    DoCmd.SetWarnings True
    'termina e volta a colocar a variável de chekar alterações como False
    strChekaDiferente = False
    End If

    End Select
    Next ctl

    'Salva tudo o que foi feito
    DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
    RneoX
    RneoX
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 246
    Registrado : 26/07/2011

    [Resolvido] Registra um Histórico de alterações - Dúvida Empty Re: [Resolvido] Registra um Histórico de alterações - Dúvida

    Mensagem  RneoX 28/10/2012, 00:38

    claro que é, cria uma coluna na tabela Zhist ou no histórico como ID ou Código ou N°Registro, e no código SQL Adicione o nome do campo da tabela e onde inseri os dados coloque assim me.id ou me.código ou me.N°Registro e pronto toda vez salvará o n° do registro na sua tabela.


    .................................................................................
    Conhece meus projetos que ajudam os usuários a entender o funcionamento de várias funções encontradas aqui no fórum? também pode usa-lo para seus negócios ou para uso pessoal, não conhece? então visite aqui e veja como está bacana: Projeto Casco do Máximo Access v3.0 (Pré-Release 4.0) 
    Ser livre é ter liberdade para expressar suas idéias,
    Ser diferente é ser especial e o reverso da igualdade,
    Ser criativo é ser poderoso,
    Ter conhecimentos e não dividir-los é ser egoísta e orgulhoso,
    Ensinar é um prazer que todos devem ter por seus alunos, pois é dele que vem nossos troféus.
    RneoX
    RneoX
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 246
    Registrado : 26/07/2011

    [Resolvido] Registra um Histórico de alterações - Dúvida Empty Re: [Resolvido] Registra um Histórico de alterações - Dúvida

    Mensagem  RneoX 28/10/2012, 00:41

    segunda feira eu esclareço melhor para você, estou morrendo de sono.


    .................................................................................
    Conhece meus projetos que ajudam os usuários a entender o funcionamento de várias funções encontradas aqui no fórum? também pode usa-lo para seus negócios ou para uso pessoal, não conhece? então visite aqui e veja como está bacana: Projeto Casco do Máximo Access v3.0 (Pré-Release 4.0) 
    Ser livre é ter liberdade para expressar suas idéias,
    Ser diferente é ser especial e o reverso da igualdade,
    Ser criativo é ser poderoso,
    Ter conhecimentos e não dividir-los é ser egoísta e orgulhoso,
    Ensinar é um prazer que todos devem ter por seus alunos, pois é dele que vem nossos troféus.
    avatar
    messias.cadete
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 69
    Registrado : 04/05/2012

    [Resolvido] Registra um Histórico de alterações - Dúvida Empty Re: [Resolvido] Registra um Histórico de alterações - Dúvida

    Mensagem  messias.cadete 28/10/2012, 00:55

    Deu certo, muito obrigado pela ajuda.
    RneoX
    RneoX
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 246
    Registrado : 26/07/2011

    [Resolvido] Registra um Histórico de alterações - Dúvida Empty Re: [Resolvido] Registra um Histórico de alterações - Dúvida

    Mensagem  RneoX 29/10/2012, 15:19

    O Fórum Agradece seu retorno!


    .................................................................................
    Conhece meus projetos que ajudam os usuários a entender o funcionamento de várias funções encontradas aqui no fórum? também pode usa-lo para seus negócios ou para uso pessoal, não conhece? então visite aqui e veja como está bacana: Projeto Casco do Máximo Access v3.0 (Pré-Release 4.0) 
    Ser livre é ter liberdade para expressar suas idéias,
    Ser diferente é ser especial e o reverso da igualdade,
    Ser criativo é ser poderoso,
    Ter conhecimentos e não dividir-los é ser egoísta e orgulhoso,
    Ensinar é um prazer que todos devem ter por seus alunos, pois é dele que vem nossos troféus.

    Conteúdo patrocinado


    [Resolvido] Registra um Histórico de alterações - Dúvida Empty Re: [Resolvido] Registra um Histórico de alterações - Dúvida

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 27/4/2024, 00:45