CALCULAR DATA COMPLICADO!

IRENKO 10/10/2016 22:00:38
#467988
Pessoal, tenho uma data inicial para calcular a próxima data para reajuste:

quando tenho um vencimento todo dia 30, exemplo:
30/10/2016

devo retroagir para:
01/10/2016

pois bem, no select fiz esse cálculo
IIF(DAY(Data.Reajuste) = 30,Data.Reajuste-29 ,Data.Reajuste) AS Reajuste

Ok! agora carrego essa data em um textbox

textbox1 = 01/10/2016

e no textbox2 carrego a data de reajuste:

textbox2 = IIf(Val(DiaBase) = 30, DateAdd([Ô]M[Ô], 1, textbox1 ) - 2, DateAdd([Ô]M[Ô], 1, textbox1 ))

quando o mês é 31 dias retorna a data correta, ou seja, 30/10/2016
o problema é quando 30 dias como exemplo o mês de abril, retorna 29/04/2016.

Como resolver isso? Uma função talvez? E para o mês de fevereiro?

Veja bem, isso é válido somente para os dias 30 e 28 o restante o cálculo é feito corretamente.

Meio fora de lógica mas infelizmente foi o solicitado.

Grato,

Banco access vb6




JCM0867 10/10/2016 23:10:32
#467991
Talvez te ajude:
Aqui mostra como pegar o primeiro e ultimo dia do mês

https://social.msdn.microsoft.com/Forums/pt-BR/e5401cc2-fc60-4e6c-843d-300f03a2e02d/existe-alguma-funo-para-pegar-o-primeiro-e-o-ultimo-dia-do-ms-?forum=vsvbasicpt





[txt-color=#0000f0]Precisando de um Sistema de Gestão Educacional?[/txt-color]
Desenvolvido em VB.NET + SQL Server + Crystal Reports
Conheça nossa Solução: www.cjsystem.com.br

OMAR2011 11/10/2016 07:48:17
#467992
Resposta escolhida
Eu tenho uma leve impressão que pode ajustar ao seu modo.
Verifique.
http://www.macoratti.net/dica73.htm
MARCELO.TREZE 11/10/2016 15:39:07
#468003
Se o problema e em dias porque nao faz o calculo em dias, porque sta calculando em meses.

Exemplo:

Dateadd([Ô]d[Ô],-30,dataatual)
Tópico encerrado , respostas não são mais permitidas