Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Lucas Lima VB

Somar dia em Data

Recommended Posts

Como faço para acrescentar dias em uma data!?

 

por exemplo, em um textbox digito a data

"11/03/09"

 

e ele soma 30 dias, e manda o resultado em outro textbox

"10/04/09"

 

Uso VB6, e banco de dados SQL

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Lucas.

 

Não conheço nenhuma propriedade do VB que te permita isso, então acho que só construindo uma função mesmo para conseguir realizar.

 

Tenho uma pronta, veja se te ajuda:

 

Dim iDias, iMes, iAno As Integer
Dim sData As String

'Compara a data atual com uma data anterior, no caso utilizei 01/01/1990 e vê a quantidade de 
'dias do intervalo
iDias = DateDiff("d", "01/01/1990", txtData.text)

'Soma a quantidade de dias que quer somar e adiciona mais 1 para que de certo
iDias = iDias + 1 + txtDataASomar.text

'coloca o ano que foi indicado acima na variavel que vai armazenar o ano
iAno = 1990

'faz um loop para saber quantos anos existem dentro da quantidade de dias achados
Do While iDias >= 365
	iDias = iDias - 365
	iAno = iAno + 1
've se o ano é bissexto
	If iAno Mod 4 = 0 Then
		iDias = iDias - 1
	End If
Loop

'adiciona 1 na variavel que vai receber o mes
iMes = 1

'faz a mesma coisa que no ano, com um case no meio para ver os meses que não tem 31 dias
'e corrigir as quantidades de dias a subtrair
Do While iDias > 31
	iDias = iDias - 31
	iMes = iMes + 1
	Select Case iMes
		Case 3
			If iAno Mod 4 = 0 Then
				iDias = iDias + 2
			Else
				iDias = iDias + 3
			End If
		Case 5
			iDias = iDias + 1
		Case 7
			iDias = iDias + 1
		Case 8
			iDias = iDias + 1
		Case 10
			iDias = iDias + 1
		Case 12
			iDias = iDias + 1
	End Select
Loop

'aqui pega os resultados e transforma em data.
sDias = iDias & "/" & iMes & "/" & iAno

txtDataResultado.text = sDias

Mastigada pra você heim, rs...

 

Tendo dúvidas poste ai.

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao funciona o dateadd no VB?

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao funciona o dateadd no VB?

Pô Mário, sacanagem isso heim, minha função tinha ficado tão boa, rs...

 

Funciona sim, eu não conhecia.

 

Lucas, use-a assim:

 

msgbox dateadd("d", diasquequersomar,"datainicial")

Compartilhar este post


Link para o post
Compartilhar em outros sites

é que sempre usei essa tanto no ASP quanto no access e achei ate estranho voce esta criando uma para isso

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.