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]Actualizar campo do formulário

    avatar
    Luís Antunes
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 394
    Registrado : 05/04/2016

    [Resolvido]Actualizar campo do formulário Empty [Resolvido]Actualizar campo do formulário

    Mensagem  Luís Antunes 5/2/2017, 00:45

    Tenho um campo no formulário [DataActualização] que quero que actualize quando faço alterações no subform.
    Call VerificaAlteracoes(Forms!frmIdentidade) Aqui chamo a função "VerificaAlteracoes" para guardar alterações e actualizar o campo [DataActualização].
    Acontece que o campo não é actualizado.
    Alguém me pode dar uma dica?

    Luís Antunes
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Actualizar campo do formulário Empty Re: [Resolvido]Actualizar campo do formulário

    Mensagem  Noobezinho 5/2/2017, 08:58

    A dica seria, você mostrar o código da função VerificaAlteracoes

    para a gente tentar ajudar.

    [ ]'s


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    Luís Antunes
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 394
    Registrado : 05/04/2016

    [Resolvido]Actualizar campo do formulário Empty Actualizar campo do formulário

    Mensagem  Luís Antunes 5/2/2017, 14:43

    Noobezinho

    Obrigado pelo retorno.
    Aqui vai os códigos que utilizo para actualizar  o campo DataActualização


    Código:
    Public Function VerificaAlteracoes(frm As Form) As Integer
    'By JPaulo ® Maximo Access
    Dim ctl As Control
    ' A propriedade Dirty é True se o registro for alterado.
    If frm.Dirty Then
    ' Mensagem de pedir confirmação
    If MsgBox("Detectada alteração de dados... " & vbCrLf & "Deseja salvar ? ", vbYesNo + vbQuestion, "Alerta") = vbNo Then
    'se a resposta for não, desfaz as alterações
    frm.Undo
    Else
    'se for sim, salva as alterações
    DoCmd.Save acDefault
    End If
    End If
    End Function

    'O código acima está em módulo

    'Private Sub Form_BeforeUpdate(Cancel As Integer)
    ''chamada da função no formulário
    'Call VerificaAlteracoes(Me)
    'End Sub
    'Este código está associado ao campo [DataActualização]
    No form funciona tudo perfeitamente, o que eu pretendia era que, qualquer alteração que fizesse no subform
    actualizasse o campo do form [DataActualização]
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Actualizar campo do formulário Empty Re: [Resolvido]Actualizar campo do formulário

    Mensagem  Noobezinho 5/2/2017, 17:56

    Luiz

    Como o campo [DataActualização] é alimentado?

    Ou seja, como é colocado a data nele?

    É digitado?

    E verifique na tabela, se ele está como campo data mesmo.


    Aguardo...



    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    Luís Antunes
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 394
    Registrado : 05/04/2016

    [Resolvido]Actualizar campo do formulário Empty Actualizar campo do formulário

    Mensagem  Luís Antunes 5/2/2017, 19:45

    Boas
    A data é definida Na propriedade do campo ,valor predefinido =Now().

    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Actualizar campo do formulário Empty Re: [Resolvido]Actualizar campo do formulário

    Mensagem  Noobezinho 5/2/2017, 19:57

    Não disse em qual propriedade, definiu.

    Também não disse se a caixa de texto onde vai a data está vinculada/acoplada com o campo DataActualização da tabela.

    Se não tiver, vincule ou deixe acoplado.

    Então vou "chutar" :

    Acreditando que a caixa de texto esteja acoplada ao campo da tabela:


    If MsgBox("Detectada alteração de dados... " & vbCrLf & "Deseja salvar ? ", vbYesNo + vbQuestion, "Alerta") = vbNo Then
    'se a resposta for não, desfaz as alterações
    frm.Undo
    Else
    'se for sim, salva as alterações

    Me.NomeDacaixaDeTextoData = Now

    DoCmd.Save acDefault


    Se não funfar, melhor enviar a tabela e o formulário envovido.

    [ ]'s


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    Luís Antunes
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 394
    Registrado : 05/04/2016

    [Resolvido]Actualizar campo do formulário Empty Re: [Resolvido]Actualizar campo do formulário

    Mensagem  Luís Antunes 5/2/2017, 22:24

    Boas
    O código não me deu certo, Junto envio a BD para uma melhor compreensão.

    Obrigado pela disponibilidade.


    Luís Antunes
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Actualizar campo do formulário Empty Re: [Resolvido]Actualizar campo do formulário

    Mensagem  Noobezinho 6/2/2017, 00:11

    Luíz


    O problema está no nome do campo DataActualização.

    Veja que na tabela está escrito errado: DataAcutalização

    Corrija na tabela, no código vba e no formulário.

    Então o código fica assim:

    Public Function VerificaAlteracoes(frm As Form) As Integer
    'By JPaulo ® Maximo Access
    Dim ctl As Control
    ' A propriedade Dirty é True se o registro for alterado.
    If frm.Dirty Then
       ' Mensagem de pedir confirmação
       If MsgBox("Detectada alteração de dados... " & vbCrLf & "Deseja salvar ? ", vbYesNo + vbQuestion, "Alerta") = vbNo Then
          'se a resposta for não, desfaz as alterações
          frm.Undo
         
       Else
        Forms!frmIdentidade!DataActualização = Now
       End If
    End If
    End Function



    [ ]'s


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    Luís Antunes
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 394
    Registrado : 05/04/2016

    [Resolvido]Actualizar campo do formulário Empty Actualizar campo do formulário

    Mensagem  Luís Antunes 6/2/2017, 01:14

    Noobezinho
    Obrigado pela ajuda.
    Já corrigi o nome na tabela e o código funciona bem. Agora só necessitava que, quando fizesse alterações no sub formulário
    o campo [DataActualização], que está no form principal, fosse também actualizado.

    Luís Antunes
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Actualizar campo do formulário Empty Re: [Resolvido]Actualizar campo do formulário

    Mensagem  Noobezinho 6/2/2017, 08:32

    Luís

    Então ficou assim:

    Criei duas funções, uma para cada formulário.

    Copie o código abaixo e substitua no módulo ModVerificaAlteracoes.

    Modifique os nomes dessas funções na propriedade antes de atualizar de cada formulário.

    [ ]'s



    Código:

    Public Function VerificaAlteracoes()
    'By JPaulo ® Maximo Access

    ' A propriedade Dirty é True se o registro for alterado.
    If Forms!frmIdentidade.Dirty Then
       If MsgBox("Detectada alteração de dados... " & vbCrLf & "Deseja salvar ? ", vbYesNo + vbQuestion, "Alerta") = vbNo Then
          
          Forms!frmIdentidade.Undo
          
       Else
        
          Forms!frmIdentidade!DataActualização = Now
        End If
    End If
    End Function


    Public Function VerificaAlteracoesSub()
    'By JPaulo ® Maximo Access

    ' A propriedade Dirty é True se o registro for alterado.
    If Forms!frmIdentidade!SubProcesso.Form.Dirty Then
       If MsgBox("Detectada alteração de dados... " & vbCrLf & "Deseja salvar ? ", vbYesNo + vbQuestion, "Alerta") = vbNo Then
                
          Forms!frmIdentidade!SubProcesso.Form.Undo
       Else
        
          Forms!frmIdentidade!DataActualização = Now
        End If
    End If
    End Function


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.
    avatar
    Luís Antunes
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 394
    Registrado : 05/04/2016

    [Resolvido]Actualizar campo do formulário Empty Actualizar campo do formulário

    Mensagem  Luís Antunes 6/2/2017, 11:51

    Noobezinho

    Funcionou na perfeição. Fico-lhe grato pela ajuda

    Luís Antunes
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Actualizar campo do formulário Empty Re: [Resolvido]Actualizar campo do formulário

    Mensagem  Noobezinho 6/2/2017, 11:56

    Ótimo!

    Bom saber que ajudei!

    Valeu pelo retorno!

    Boa sorte!


    .................................................................................
    A pergunta que não quer calar:
    Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
    para enviar parte do projeto, não temos mais continuidade do tópico?  
    Crê que temos bolas de cristal ou está com medo que "roubemos"  a
    idéia/projeto dele?  Twisted Evil
    Se é tão bom assim...


    Ajude a ser ajudado:
    Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
    Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
    sem precisar procurar o mesmo.

    Conteúdo patrocinado


    [Resolvido]Actualizar campo do formulário Empty Re: [Resolvido]Actualizar campo do formulário

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 29/3/2024, 07:42