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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  intervalo de datas
luiz
não registrado
Postada em 22/02/2006 12:38 hs   
ola pessoal
eu tenho um form em vb6 o qual no textbox text1.text eu digito uma data qualquer,
tipo "10/10/2006" e tenho mais onze textbox (text2.text até text12.text").
o problema: Gostaria de saber qual função utilizar para que, quando eu digitasse por
exemplo no text1.text a data "10/10/2006" nos demais textbox aparecessem as datas em
intervalos de mes, só que sempre com dias variando entre 30 e 31 do mes seguinte:
Exemplo: text1.text = "10/10/2006"
         text2.text = "30/11/2006"
         text3.text=  "31/12/2006"
         text4.text=  "30/01/2007"....e assim por diante
desde já agradeço
luiz
     
Marcos Nogueira
SÃO PAULO
SP - BRASIL
ENUNCIADA !
Postada em 22/02/2006 13:18 hs            
tenta somar a ultima data com o Nº 30
 
 

Marcos Nogueira
"Sempre ouvindo um RAP pra alegrar a RAPA!!!"

   
PH1959
Pontos: 2843
SÃO JOSÉ DOS CAMPOS
SP - BRASIL
ENUNCIADA !
Postada em 22/02/2006 13:27 hs            
tem uma função q já apareceu aki no forum mesmo q valida datas.
primeiro vc tem q validar a sua data. Depois, vc vai pegar o valor do mes e do ano...
 
seria +- assim
private sub text1_lost focus
validadata ' Passa na função para ver se a data é válida
data=Format(text1, "@@@@@@@@")
mes= mid(data, 3,2)
ano=mid(data,5,4)
 
 
acha a função aki no forum primeiro...depois te falo o resto...
 
 
   
luiz
não registrado
ENUNCIADA !
Postada em 22/02/2006 13:39 hs   

Eu tenho esta função:

 

Public Function ValidaData(MaskEdBox1 As MaskEdBox)

 

Dim data As String

Dim dia As String

Dim mes As String

Dim ano As String

Dim fevereiro As Integer

 

data = MaskEdBox1.FormattedText

dia = Mid(data, 1, 2)

mes = Mid(data, 4, 2)

ano = Mid(data, 7, 4)

 

 

'Verificando os meses que podem ter até o dia 31

If (mes = 1) Or (mes = 3) Or (mes = 5) Or (mes = 7) Or

(mes = 8) Or (mes = 10) Or (mes = 12) Then

    If (dia < 1) Or (dia > 31) Then

        MsgBox ("Data Inválida! O dia está inválido"), vbCritical, "Data Invalida"

        MaskEdBox1.SetFocus

        Exit Function

    End If

End If

 

'Verificando o mes de fevereiro

If (mes = 2) Then

    If (dia >= 30) Then

        MsgBox ("Data Inválida! Este ano, o mês de Fevereiro é até o dia 29"),

vbCritical, "Data Invalida"

        MaskEdBox1.SetFocus

        Exit Function

    End If

    fevereiro = ano Mod 4

    If (fevereiro <> 0) And (dia = 29) Then

        MsgBox ("Data Inválida! Este ano, o mês de Fevereiro é até o dia 28"),

vbCritical, "Data Invalida"

        MaskEdBox1.SetFocus

        Exit Function

    End If

End If

 

'Verificar os meses que não podem ter dia até 31 e sim até 30

If (mes = 2) Or (mes = 4) Or (mes = 6) Or (mes = 9) Or (mes = 11) Then

    If (dia < 1) Or (dia > 30) Then

        MsgBox ("Data Inválida! Este mês só tem 30 dias"), vbCritical, "Data Invalida"

        MaskEdBox1.SetFocus

        Exit Function

    End If

End If

 

'Verificar os meses 1 A 12

If (mes < 1) Or (mes > 12) Then

    MsgBox ("Data Inválida! Este mês não existe!"), vbCritical, "Data Invalida"

    MaskEdBox1.SetFocus

    Exit Function

End If

 

'Verificar se o ano é maior que 2004 --- Pode ser Removido

If (ano < 2004) Then

    MsgBox ("Data Inválida! O ano deve ser depois de 2004"),

vbCritical, "Data Invalida"

    MaskEdBox1.SetFocus

    Exit Function

End If

 

End Function

 

 

Private Sub MaskEdBox1_LostFocus()

    Call ValidaData(MaskEdBox1)

End Sub

 

 

 

   
PH1959
Pontos: 2843
SÃO JOSÉ DOS CAMPOS
SP - BRASIL
ENUNCIADA !
Postada em 22/02/2006 13:50 hs            
já serve esta aí...
continuando o cód....
private sub Maxday
select case mes
         case 1,3,5,7,8,10,12
                   dfinal=31
         case 4,6,9,11
                   dfinal=30
         case 2
                  if ano mod 4=0 then
                         dfinal=29
                   else
                          dfinal=28
                   endif
         end select
end sub
 
 
lembra de botar as variaveis no declarations do form
 
   
PH1959
Pontos: 2843
SÃO JOSÉ DOS CAMPOS
SP - BRASIL
ENUNCIADA !
Postada em 22/02/2006 13:51 hs            
no caso dos seus textbox, eu sugiro q vc os renomeie e indexe
text1  ------ text1(1)
text2 ------- text1(2)
...
text12 ----- text1(12)
 
   
Página(s): 1/2      PRÓXIMA »


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