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


    Histórico de alterações em subformulários

    avatar
    njunior
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 54
    Registrado : 31/08/2011

    Histórico de alterações em subformulários Empty Histórico de alterações em subformulários

    Mensagem  njunior 21/5/2013, 16:58

    Pessoal, boa tarde!

    Tenho um banco de dados que estou fazendo e apliquei no mesmo o código para histórico de alterações do amigo JPaulo (que por sinal funcionou show de bola). Porém, tenho duas dúvidas:

    1 - Como faço para ele reconhecer também o subformulário nesta aplicação?
    2 - Quando tentei aplicar no evento ao sair, ele não aceitou. Está certo, ou fiz alguma coisa errada?

    Segue código:

    [color=blue]Private Sub CmdClose_Click()

    Dim strChekaDiferente As Boolean
    Dim strSQL As String
    Dim ctl As Control
    Dim strUser As String
    'By JPaulo ® Maximo Access
    '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 = GetUserName_TSB
    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.[ER ID] & "','" & Me.Locked & "','" & Me.Name & "','" & Me.Data & "', '" & Me.Tipo & "', '" & Me.Consultor_Resp & "', '" & Me.Report_Currency & "', '" & Me.Report_XRate & "', '" & Me.Dados_para_pagamento & "', '" & "Novo Registro" & "')"
    DoCmd.RunSQL strSQL
    DoEvents
    CurrentDb.Execute "DELETE * FROM tblLog WHERE [ValorAntigo]=' ' ", dbFailOnError
    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, acCheckBox

    If ctl.Value <> ctl.OldValue Or IsNull(ctl.Value) And Len(ctl.OldValue) > 0 Or ctl.Value = "" And Len(ctl.OldValue) > 0 _
    Or IsNull(ctl.OldValue) And Len(ctl.Value) > 0 Or ctl.OldValue = "" And Len(ctl.Value) > 0 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
    DoEvents

    '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
    'Salva tudo o que foi feito
    DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70

    DoCmd.Close
    End Sub[/color]

    Gostaria de ressaltar que tentei colocar na instrução (strSQL) o seguinte:
    [b]'" & Form_Nomedosubformulário.nomedocontrole & "'[/b]

    Porém não funcionou...

    Muito Obrigado!
    avatar
    njunior
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 54
    Registrado : 31/08/2011

    Histórico de alterações em subformulários Empty Re: Histórico de alterações em subformulários

    Mensagem  njunior 22/5/2013, 15:44

    Ninguém?

    Estou tentando e até agora não consegui..
    Aguardo uma ajuda...

    Abraços!

      Data/hora atual: 3/5/2024, 04:00