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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Mesmo dia do mês nos parcelamentos.
RARS
AMERICO BRASILIENSE
SP - BRASIL
Postada em 11/03/2008 10:22 hs            
For x = 1 to Parcela
    Data = Dateadd("m",x,Data_Vencimento)
    if Not Isdate(data) then
       Data = Dateadd("d",1,data) 'No caso de meses q nao possua o dia da data de
                                             'Vencimento..ou anos bissestos
     Endif
Next x 
     
Analista
CÁCERES
MT - BRASIL
Postada em 11/03/2008 10:24 hs            
Pessoal, desculpa a minha ignorância, mas não estou entendendo essas rotina q. vcs estão me passando. deixa eu tentar explicar melhor como faço.
Tenho um campo chamado Qt_parcela 'Quantidade de parcelas
e tenho 12 campos MaskEdBox onde serão os vencimentos, estes tem o nome de:
Vecto1,vecto2,vecto3,vecto4,vecto5,vecto6,vecto7,vecto8,vecto9,vecto10,vecto11,
vecto12.
em vossas formulas não sei onde colocar cada campo.
 
Desde já Agradeço.
 
Luciano
     
RARS
AMERICO BRASILIENSE
SP - BRASIL
Postada em 11/03/2008 10:50 hs            
Analista deculp o a falha ao exemplificar a rotina
Neste caso vou usar um array de Objetos Vcto em vex de chamar eles de Vct1 Vcto2...
Estou usando o Index 0  do Array para a data base e os demais para as futuras datas
O comando ubound retorna o numero de Indices q o array tem no caso subtraii 1.pq o array comeca no index 0.
 
For x = 1 to Ubound(Vcto) -1
    Vecto(x) = Dateadd("m",x,Vecto(0))' No caso Vai Adicionar  a Qtde X de meses na data
                                                       'inicial no controle e Vecto controlado pela propriedade   
                                                        'Index q vai ser igual a 0 (Data Base para o calculo)
    if Not Isdate(Vcto(x)) then 'Aki eu verifico c a data eh valida..pois tem
                                      'meses q nao tem dias 29,30 ou 31
       Vcto(X) = Dateadd("d",1,Vcto(x)) ' Caso isso ocorra eu adiciono + 1 dia para ir para o primeiro 
                                                ' Dia do outro mes     
   Endif
Next x 
TÓPICO EDITADO
   
Macaubal
MACAUBAL
SP - BRASIL
Postada em 11/03/2008 10:50 hs            
o Correto seria voce colocar em uma variavel Array mas nesse caso tente colocar
 
If QtdParcela >= 1 then Vecto1 = DataVencimento
If QtdParcela >= 2 then Vecto2 = DateAdd("m", 1, DataVencimento)
If QtdParcela >= 3 then Vecto3 = DateAdd("m", 2, DataVencimento)
If QtdParcela >= 4 then Vecto4 = DateAdd("m", 3, DataVencimento)
If QtdParcela >= 5 then Vecto5 = DateAdd("m", 4, DataVencimento)
If QtdParcela >= 6 then Vecto6 = DateAdd("m", 5, DataVencimento)
If QtdParcela >= 7 then Vecto7 = DateAdd("m", 6, DataVencimento)
If QtdParcela >= 8 then Vecto8 = DateAdd("m", 7, DataVencimento)
If QtdParcela >= 9 then Vecto9 = DateAdd("m", 8, DataVencimento)
If QtdParcela >= 10 then Vecto10 = DateAdd("m", 9, DataVencimento)
 
Estipule dias para vencimento por exemplo. Dia 5, dia 10, dia 20, ou 25 que nesse caso voce nao terá problemas quando o dia for mair que 28, onde todas as parcelas terão vencimentos em dias normais.
     
Analista
CÁCERES
MT - BRASIL
Postada em 11/03/2008 11:25 hs            
Caro amigo Macaubal, vc está dizendo para eu indicar  o dia que será o vencimento, não quero indicar, quero que pegue a dada da compra e faça os vencimentos, caso a compra seja hoje 11/03/2008, os vencimentos terão q. ser todo dia 11 como segue.
vecto1= 11/04/2008; vecto2 = 11/05/2008; vecto3 = 11/06/2008....
     
Macaubal
MACAUBAL
SP - BRASIL
Postada em 11/03/2008 12:33 hs            
Entendi, mesmo assim voce pode utilizar o
 
DateAdd("M", 1, DataVencimento)
 
que no caso da primeira parcela cair em 30/01/2008 a segunda ira cair dia 29/02/2008, isso pq o ano é bisexto, caso o ano fosse 2007 e a primeira parcela em 31/01/2007, a segunda iria cair em 28/02/2008, a terceita em 31/03/2007 e por ai vai...
 
TÓPICO EDITADO
   
Página(s): 3/4     « ANTERIOR    PRÓXIMA »

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