USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Expert VB - calculo ano bissexto
Luis CR
FORTALEZA
CE - BRASIL
ENUNCIADA !
Postada em 03/11/2010 17:18 hs         
Porque eu tenho que contar também o ultimo dia da data final que é o dia 29, se eu não contar esse dia ficaria 12 anos 10 meses e 28 dias e no segundo calculo 6 meses e 1 dia. O calculo é para tempo de serviço e tem que ser contado dia a dia inclusive com os dias a mais que possuem os anos bissextos.
   
Luis CR
FORTALEZA
CE - BRASIL
ENUNCIADA !
Postada em 04/11/2010 10:35 hs         
Problema resolvido com o codigo abaixo
 
 
Private Sub CommandButton2_Click()
Dim vDataInicial As Date 'Data de nascimento
Dim vDataFinal As Date 'Data para cálculo da idade
Dim vAnos As Integer 'Resultado em anos
Dim vMeses As Integer 'Resultado em meses
Dim vDias As Integer 'Resultado em dias
Dim vDiasTotal As Integer 'Resultado em dias
vDataInicial = Me.[txtDi] 'Caixa de Texto com Data de nascimento
vDataFinal = Me.[txtDf] 'Caixa de texto com Data atual
vDiasTotal = DateDiff("d", vDataInicial, vDataFinal)
vAnos = Int(vDiasTotal / 365) 'Integer division
vMeses = Int(vDiasTotal Mod 365) / 30
vDias = (vDiasTotal Mod 365 Mod 30) + 1
MsgBox vAnos & " anos " & vMeses & " meses " & vDias & " dias"
End Sub
Obrigado a todos, principalmente ao Treze. Abraços
   
Treze
Pontos: 2843 Pontos: 2843
SÃO VICENTE
SP - BRASIL
ENUNCIADA !
Postada em 04/11/2010 11:35 hs            
Luiz desculpe na ansia de ajudar acabei fazndo um código "nas cochas", mas veja como resolvi, sei que ja resolveu mas pode testar este que funcionará normal
 
Private Sub Command1_Click()
CalculaTempo "01/07/2000", "29/12/2000"
End Sub

Sub CalculaTempo(dataINI As Date, dataFim As Date)
Dim TotalDias As Integer
Dim Dias As Integer, Meses As Integer, Anos As Integer
TotalDias = DateDiff("d", dataINI, DateAdd("d", 1, dataFim))
Dias = (TotalDias Mod 365) Mod 30
Meses = ((TotalDias - Dias) Mod 365) / 30
Anos = (TotalDias - (TotalDias Mod 365)) / 365
MsgBox Anos & " anos, " & Meses & " meses e " & Dias & " dias."
End Sub
   
Página(s): 2/2     « ANTERIOR  


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página