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

    [Resolvido]Quem alterou e Quem introduziu (Campo em branco)

    augustopimenta
    augustopimenta
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 151
    Registrado : 19/03/2012

    [Resolvido]Quem alterou e Quem introduziu (Campo em branco) Empty Quem alterou e Quem introduziu (Campo em branco)

    Mensagem  augustopimenta 14/9/2012, 16:56

    Estou com uma dúvida em relação ao exemplo do JPaulo..
    O problema é o seguinte: no meu formulário tenho dois campos que nem sempre são preenchidos. O campo txtprocura e o campo OBS. O código do Jpaulo transfere para a tabela tblLog tudo que foi alterado ou que estiver em branco ou nulo. Quando altero qualquer campo do formulário o código envia a tblLog o campo que eu alterei e os campos que normalmente ficam em branco (txtprocura e OBS). Como fazer para que esses campos não sejam enviados para tblLog nessa situação. O txtprocura é para pesquisa logo não deve nunca ser transferido para tblLog e o campo OBS não é campo obrigatório, ou seja, nem sempre ele é preenchido.
    Alguém pode ajudar ?
    Segue abaixo o código do JPaulo. Desde já agradeço ...
    Sublinhei a parte que pega os campos em branco ..

    On Error Resume Next
    strChekaDiferente = False
    strUser = Trim(login.Usuario)
    If Me.NewRecord Then 'verifica se é um novo registro, se for registra com novo
    strChekaDiferente = True

    strSQL = "INSERT INTO tblLog (Utilizador, LogData, NomeForm, NomeCampo, ValorAntigo, ValorAtual, Status) Values('" & strUser & "', Now(),'" & Me.Form.Name & "','" & Me.NomeCliente & "','" & Me.CPFCliente & "','" & Me.SexoCliente & "','" & "Novo Registro" & "')"
    DoCmd.RunSQL strSQL

    Else
    ' se não for um novo registro, coloca a variável de chekar alterações como False
    strChekaDiferente = False

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

    If ctl.Value <> ctl.OldValue Or (IsNull(ctl.Value) Or 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 tblLog (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
    Cancel = True
    End If

    End Select
    Next ctl
    End If


    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Quem alterou e Quem introduziu (Campo em branco) Empty Re: [Resolvido]Quem alterou e Quem introduziu (Campo em branco)

    Mensagem  JPaulo 14/9/2012, 17:31

    Utilize somente o:

    If ctl.Value <> ctl.OldValue Then


    .................................................................................
    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]Quem alterou e Quem introduziu (Campo em branco) Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Quem alterou e Quem introduziu (Campo em branco) Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Quem alterou e Quem introduziu (Campo em branco) Folder_announce_new Instruções SQL como utilizar...
    augustopimenta
    augustopimenta
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 151
    Registrado : 19/03/2012

    [Resolvido]Quem alterou e Quem introduziu (Campo em branco) Empty Re: [Resolvido]Quem alterou e Quem introduziu (Campo em branco)

    Mensagem  augustopimenta 14/9/2012, 19:40

    Oi Jpaulo..
    Já tentei essa alternativa... Mas se eu fizer isso o código não irá funcionar se alguém entrar no registro, apagar algum campo e deixá-lo em branco.... A tbLog não registra essa alteração. Eu tentei aqui ..
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Quem alterou e Quem introduziu (Campo em branco) Empty Re: [Resolvido]Quem alterou e Quem introduziu (Campo em branco)

    Mensagem  JPaulo 17/9/2012, 14:12

    Altere para esta linha;


    If ctl.Value <> ctl.OldValue Or IsNull(ctl.Value) And Len(ctl.OldValue) > 0 Or ctl.Value = "" And Len(ctl.OldValue) > 0 Then



    .................................................................................
    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]Quem alterou e Quem introduziu (Campo em branco) Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Quem alterou e Quem introduziu (Campo em branco) Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Quem alterou e Quem introduziu (Campo em branco) Folder_announce_new Instruções SQL como utilizar...
    augustopimenta
    augustopimenta
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 151
    Registrado : 19/03/2012

    [Resolvido]Quem alterou e Quem introduziu (Campo em branco) Empty Re: [Resolvido]Quem alterou e Quem introduziu (Campo em branco)

    Mensagem  augustopimenta 17/9/2012, 18:12

    Continua com o seguinte problema..
    Quando eu entro num registro e altero um campo que estava em branco ele não registra na tbLog ....
    Alguma sugestão..?
    Esse código está no ao clicar do botão salvar do formulário....
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Quem alterou e Quem introduziu (Campo em branco) Empty Re: [Resolvido]Quem alterou e Quem introduziu (Campo em branco)

    Mensagem  JPaulo 18/9/2012, 09:14

    Veja o novo Upgrade;

    http://maximoaccess.forumeiros.com/t530-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]Quem alterou e Quem introduziu (Campo em branco) Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Quem alterou e Quem introduziu (Campo em branco) Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Quem alterou e Quem introduziu (Campo em branco) Folder_announce_new Instruções SQL como utilizar...
    augustopimenta
    augustopimenta
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 151
    Registrado : 19/03/2012

    [Resolvido]Quem alterou e Quem introduziu (Campo em branco) Empty Re: [Resolvido]Quem alterou e Quem introduziu (Campo em branco)

    Mensagem  augustopimenta 18/9/2012, 14:24

    Ok JPaulo..
    Está funcionando perfeitamente..
    Obrigado pela agilidade e prontidão..
    Sucesso !!!
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Quem alterou e Quem introduziu (Campo em branco) Empty Re: [Resolvido]Quem alterou e Quem introduziu (Campo em branco)

    Mensagem  JPaulo 18/9/2012, 16:29

    Obrigado pelo retorno o fórum agradece.


    .................................................................................
    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]Quem alterou e Quem introduziu (Campo em branco) Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Quem alterou e Quem introduziu (Campo em branco) Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Quem alterou e Quem introduziu (Campo em branco) Folder_announce_new Instruções SQL como utilizar...

    Conteúdo patrocinado


    [Resolvido]Quem alterou e Quem introduziu (Campo em branco) Empty Re: [Resolvido]Quem alterou e Quem introduziu (Campo em branco)

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/4/2024, 14:13