MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    Add mensagem de alerta ao add data do mes atual

    Compartilhe

    lgdelai
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 146
    Registrado : 31/03/2012

    Add mensagem de alerta ao add data do mes atual

    Mensagem  lgdelai em Sab 26 Out 2013, 12:49

    Olá, com ajuda de vocês consegui avançar bastante meu BD.

    Abaixo tem um código que criei e comentei, ele atualiza um campo após preencher uma data.
    porém gostaria que ele exibisse uma mensagem caso o mês da data preenchida fosse diferente
    do mês do vencimento.

    "Você tem certeza que esta data está correta?" SIM ou NÃO.

    Caso não, ele volta para o campo para corrigir.


    Código:
    ' PREENCHER DATA PROXIMO PAGAMENTO APÓS INSERIR DATA PAGAMENTO ATUAL, SE NÃO HOUVER DEIXAR EM BRANCO.
    ' Após o campo DATA_PAGAMENTO ser atualizado.
    Private Sub Data_pagamento_AfterUpdate()
    ' Se "IF" o campo DATA_VENCIMENTO do SUB-FORMULÁRIO atual for igual ao campo DATA_ULTIMO_PAGAMENTO do FORMULARIO-PAI
        'Então "THEN" o campo PROX_PAGAMENTO será NULO, ou VÁZIO
        'Caso contrário "ELSE" será preenchido com a data do proximo pagamento
    ' NOTE que para acessar o campo DATA_ULTIMO_PAGAMENTO no formulário pai, deve-se usar a seguinte sintaxe:
        'Me.Parent.NOME_FORMULARIO_PAI![NOME_CAMPO].
    ' Na linha "ELSE" A data do proximo pagamento será uma junção do campo DIA_PARA_PAGAMENTO com o MES e o ANO do campo DATA_VENCIMENTO atual, acrescido de 31.
    If Me.[Data_vencimento] = Me.Parent.CONTRATOS![Data_ultimo_pagamento] _
        Then Me.Parent.CONTRATOS![Prox_Pagamento] = Null _
        Else: Me.Parent.CONTRATOS![Prox_Pagamento] = Me.Parent.CONTRATOS![Dia_para_Pagamento] & Format((Me.[Data_vencimento] + 31), "/mm/yyyy")
    End Sub
    Obrigado.

    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Re: Add mensagem de alerta ao add data do mes atual

    Mensagem  criquio em Sab 26 Out 2013, 17:42

    Primeiro, irei insistir mais ainda que tente seguir as dicas de nomeação de controles e elementos passadas nesse tópico. Acho isso de fundamental importância. Quanto à questão em si, ao que parece você quer comparar a data de um campo de um subformulário com um campo no formulário principal, certo? Talvez seja algo assim:

    Código:
    If Me.NomeCampoSubForm <> Forms!NomeFormPrincipal!NomeCampoFormPrincipal Then
        If MsgBox("Tem certeza?", vbYesNo + vbCritical, "Atenção") = vbNo Then
            Me.NomeCampoSubForm = Null
            Me.NomeCampoSubForm.SetFocus
        Else
            Prossiga com os trâmites...
        End If
    End If


    .................................................................................
    Meu novo site: [Você precisa estar registrado e conectado para ver este link.]

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


    lgdelai
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 146
    Registrado : 31/03/2012

    Re: Add mensagem de alerta ao add data do mes atual

    Mensagem  lgdelai em Sab 26 Out 2013, 18:02

    Obrigado pelo retorno.

    Vou fazer uma revisao em todo meu bd pra corrigir os nomes, obrigado pela dica.

    Com relação a caixa de mensagem, eu quero comparar dois campos de data no mesmo formulário.
    No meu código atual eu ja faço uma comparação com um campo externo, ela deve continuar.

    A compraração que preciso é de dois campos de data no mesmo formulário, na mesma tabela.

    *** Quero que a mensagem apareça caso o mes e ou o ano do campo que acabei de preencher seja diferente
    do outro campo, O dia pode ser qualquer um.

    Quero isto pois, se o mes ou ano for preenchido errado quando vou filtrar os pagamentos do mes atual
    este não será incluso compreende?

    Obrigado.

    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Re: Add mensagem de alerta ao add data do mes atual

    Mensagem  criquio em Sab 26 Out 2013, 18:26

    Então seria algo assim:

    Código:
    If Month(Me.NomeCampo1) <> Month(Me.NomeCampo2) Or Year(Me.NomeCampo1) <> Year(Me.NomeCampo2) Then
        ...


    .................................................................................
    Meu novo site: [Você precisa estar registrado e conectado para ver este link.]

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


    lgdelai
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 146
    Registrado : 31/03/2012

    Re: Add mensagem de alerta ao add data do mes atual

    Mensagem  lgdelai em Dom 27 Out 2013, 15:59

    Ótimo, ficou perfeito.

    obrigado.

    o código ficou assim


    Código:
    If Month(Me.Data_pagamento) <> Month(Me.Data_vencimento) Or Year(Me.Data_pagamento) <> Year(Me.Data_vencimento) Then
        If MsgBox("A DATA ESTÁ CORRETA?", vbYesNo, "Atenção") = vbNo Then
            Me.Data_pagamento = Null
            Me.Data_pagamento.SetFocus
        Else

    lgdelai
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 146
    Registrado : 31/03/2012

    Re: Add mensagem de alerta ao add data do mes atual

    Mensagem  lgdelai em Dom 27 Out 2013, 22:33

    Algo está dando errado.

    Veja o código completo.

    A ultima parte do código, a original só está sendo executada se a caixa de mensagem aparecer e eu clicar sim.
    se eu digitar a data e o mês e ano estiverem iguais aos do Data_vencimento o programa aceita, mas passa
    direto pela segunda parte do código que altera a data do campo Prox_pagamento.

    Código:
    If Month(Me.Data_pagamento) <> Month(Me.Data_vencimento) Or Year(Me.Data_pagamento) <> Year(Me.Data_vencimento) Then
    If MsgBox("A DATA ESTÁ CORRETA?", vbYesNo, "Atenção") = vbNo Then
            Me.Data_pagamento = Null
            Me.Data_pagamento.SetFocus

    Else

    If Me.[Data_vencimento] = Me.Parent.CONTRATOS![Data_ultimo_pagamento] _
        Then Me.Parent.CONTRATOS![Prox_Pagamento] = Null _
        Else: Me.Parent.CONTRATOS![Prox_Pagamento] = Me.Parent.CONTRATOS![Dia_para_Pagamento] & Format((Me.[Data_vencimento] + 31), "/mm/yyyy")
        End If
    End If
    End Sub

    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Re: Add mensagem de alerta ao add data do mes atual

    Mensagem  criquio em Seg 28 Out 2013, 09:55

    Não entendi bem a lógica. O If deve ser analisado e aninhado ou não de acordo os passos a serem tomados. Às vezes pode ter um If aninhado em uma parte do bloco principal e não na outra parte. Às vezes são necessários blocos independentes entre si mas que o resultado de um interage no outro.


    .................................................................................
    Meu novo site: [Você precisa estar registrado e conectado para ver este link.]

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


    lgdelai
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 146
    Registrado : 31/03/2012

    Re: Add mensagem de alerta ao add data do mes atual

    Mensagem  lgdelai em Seg 28 Out 2013, 11:01

    Temos 3 "if"

    dois que eu adicionei com sua ajuda, e o 3º e original.

    O primeiro If verifica as datas,se o mes e ano da data digitada estiver igual a data de vencimento ele
    segue normalmente até chegar no 3º if,

    mas se a data estiver ok, mes e anos iguais ao do vencimento, o codigo não executa o ultimo if.

    Entendeu?

      Data/hora atual: Seg 05 Dez 2016, 01:21