MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Como criar botões para avançar data em um TxtBox (avançar dias, mês e ano)

    avatar
    ORLANDOCBM
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 01/08/2019

    [Resolvido]Como criar botões para avançar data em um TxtBox (avançar dias, mês e ano) Empty [Resolvido]Como criar botões para avançar data em um TxtBox (avançar dias, mês e ano)

    Mensagem  ORLANDOCBM em 1/10/2019, 06:22

    Saudações amigos,

    Tenho um formulário de aniversariantes (imagem em anexo) em que nele tem os aniversariantes do Dia e do Mês. Na parte dos aniversariantes do dia, tem uma TxtBox que carrega a Data atual ao abrir.

    A partir daí, são listados todos os aniversariantes do dia definido nessa TxtBox. Criei os botões de avançar 1 dia e retroceder um dia, pondo o seguinte código:

    Private Sub BTPRÓXIMO_Click()
    Me.TXTDATACAL.Value = TXTDATACAL.Value + 1
    Me.Recalc
    End Sub

    E a mesma coisa, só que -1 para o botão BTANTERIOR (que retrocede um dia)

    Só que vem o dilema: criei os botões para avançar e retroceder 1 ano e avançar e retroceder 1 mês, pela necessidade de ir para uma data mais distante da data atual.

    Que código deve ter esses botões e se é feito via CÓDIGO ou MÓDULO?

    [Resolvido]Como criar botões para avançar data em um TxtBox (avançar dias, mês e ano) 2222211
    avatar
    ORLANDOCBM
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 01/08/2019

    [Resolvido]Como criar botões para avançar data em um TxtBox (avançar dias, mês e ano) Empty Re: [Resolvido]Como criar botões para avançar data em um TxtBox (avançar dias, mês e ano)

    Mensagem  ORLANDOCBM em 1/10/2019, 07:39

    Pronto pessoal!

    Após muita pesquisa, consegui. Os códigos ficaram assim (TXTDIA e TXTXMÊS são TxtBox invisíveis que ficam no form. anivers.):

    Private Sub BTMÊSCRESC_Click()
    Me.TXTDATACAL.Value = DateSerial(Year([TXTDATACAL]), Month([TXTDATACAL]) + 1, Day([TXTDATACAL]))
    Me.TXTMÊS = Month(TXTDATACAL)
    Me.TXTDIA = Day(TXTDATACAL)
    Me.Recalc
    End Sub


    Private Sub BTANOCRESC_Click()
    Me.TXTDATACAL.Value = DateSerial(Year([TXTDATACAL]) + 1, Month([TXTDATACAL]), Day([TXTDATACAL]))
    Me.TXTMÊS = Month(TXTDATACAL)
    Me.TXTDIA = Day(TXTDATACAL)
    Me.Recalc
    End Sub

    Para diminuir é só trocar o "+" por "-"

    Fica aí para futuras pesquisas!!!!


    O mais complicado foi fazer a IDADE ser mostrada baseada nessa data da TxtBox, pois estava sendo calculada baseada na data atual (Data()), assim, qdo eu ia navegando para datas futuras ou passadas, a idade continuava a mesma, sem contar que o RELATÓRIO de aniversariantes do mês não estava sendo preciso, pois:

    - mostrava as idades corretas para os clientes que tinham a data de aniversário igual ou menor que a data atual;
    - mas mostrava as idades atuais para os clientes que ainda iriam aniversariar (na verdade deveria mostrar a idade dele no aniversário). Logo esse relatório gerava dúvida se a idade mostrada era a da pessoa antes ou após seu aniversário nesse ano (ficava uma salada). Mas ainda bem que resolvi.

    Mas aí fiz umas modificações na CONSULTA e nesse formulário bem sucedidas.

    Sucesso a todos!

    Estou adorando participar deste fórum!!!


    Última edição por ORLANDOCBM em 1/10/2019, 08:42, editado 1 vez(es)
    avatar
    ORLANDOCBM
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 01/08/2019

    [Resolvido]Como criar botões para avançar data em um TxtBox (avançar dias, mês e ano) Empty Surgiu imprevisto: idades negativas. Como eliminar????

    Mensagem  ORLANDOCBM em 1/10/2019, 08:40

    Qdo eu retrocedo muito, as idades vão ficando negativas.

    Alguém teria uma dica?

    O campo idade é um campo calculado na CONSULTA, assim:

    IDADE: Ano([DATA CAL])-Ano([DATA NASC])



    [DATA CAL] tbm é um campo calculado da consulta, e é definido assim:

    DATA CAL: [forms]![ANIVERSARIANTES]![TXTDATACAL]

    Creio que a solução esteja em inserir no critério da "IDADE" algo do tipo: >0, mas já fiz e dá erro no carregamento do relatório que é o objeto de origem do subformulário - TABELA DOS ANIVERSARIANTES DO DIA.

    Sugestão?
    avatar
    zcarloslopes
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 306
    Registrado : 28/10/2010

    [Resolvido]Como criar botões para avançar data em um TxtBox (avançar dias, mês e ano) Empty Re: [Resolvido]Como criar botões para avançar data em um TxtBox (avançar dias, mês e ano)

    Mensagem  zcarloslopes em 1/10/2019, 09:43

    Bom dia,

    Tente colocar uma condição na consulta mais ou menos assim:
    Código:
    IDADE: Ise((Ano([DATA CAL])-Ano([DATA NASC]))>0;(Ano([DATA CAL])-Ano([DATA NASC]));0)
    avatar
    ORLANDOCBM
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 01/08/2019

    [Resolvido]Como criar botões para avançar data em um TxtBox (avançar dias, mês e ano) Empty Está dando erro

    Mensagem  ORLANDOCBM em 2/10/2019, 04:14

    ZCarlosLopes, o código sugerido por vc está gerando um erro ao tentar abrir o formulário ANIVERSARIANTES.

    Erro: Função 'Ise' indefinida na expressão.
    avatar
    zcarloslopes
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 306
    Registrado : 28/10/2010

    [Resolvido]Como criar botões para avançar data em um TxtBox (avançar dias, mês e ano) Empty Re: [Resolvido]Como criar botões para avançar data em um TxtBox (avançar dias, mês e ano)

    Mensagem  zcarloslopes em 2/10/2019, 14:30

    Boa tarde,

    Coloque aqui as partes da DB envolvidas para ser mais fácil verificar..
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1146
    Registrado : 13/12/2016

    [Resolvido]Como criar botões para avançar data em um TxtBox (avançar dias, mês e ano) Empty Re: [Resolvido]Como criar botões para avançar data em um TxtBox (avançar dias, mês e ano)

    Mensagem  Alexandre Fim em 2/10/2019, 15:15

    Orlando Bom dia,

    O Access possui um recurso de "Calendário" quando você cria o campo do tipo Data.
    Acredito que isso já resolva o seu problema.

    Segue imagem do campo.

    [Resolvido]Como criar botões para avançar data em um TxtBox (avançar dias, mês e ano) Calend10

    Espero ter ajudado.

    Boa sorte.


    .................................................................................
    - Procure sempre anexar seu projeto para análise do problema/dúvida.
    - Ao copiar/colar um código VBA, procure entender seu funcionamento.
    - Se o problema foi resolvido, não se esqueça de marcar o tópico como RESOLVIDO.
    avatar
    ORLANDOCBM
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 37
    Registrado : 01/08/2019

    [Resolvido]Como criar botões para avançar data em um TxtBox (avançar dias, mês e ano) Empty Re: [Resolvido]Como criar botões para avançar data em um TxtBox (avançar dias, mês e ano)

    Mensagem  ORLANDOCBM em 2/10/2019, 18:47

    O calendário aí eu conheço, no entanto não fica legal pq a TxtBox tem que estar habilitada pra poder vc clicar dentro e o calendário aparecer. Aí dá margem pra ser digitada data sem barra "/" com espaços e aí vai dar erro no filtro e consequentemente no resultado dos aniversariantes do dia.

    Dá até pra inserir a máscara de entrada __/___/____ no entanto ela desabilita o calendário.

    Mas obrigado pela dica!!!

      Data/hora atual: 23/9/2020, 18:40