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

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Calcular datas
Daniel
Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 05/01/2006 11:47 hs            
Desculpe Roberto, mas na lógica que passei quando for sabado e eu acrescento 3 dias, pulando a data para segunda seguinte, automáticamente nunca passarei pelo domingo (7), assim é desnecessário o elseif.
Obviamente só exite a possibilidade de passar pelo domingo SE A DATA INICIAL FOR DOMINGO.

dsmn
     
Bruno
não registrado
Postada em 05/01/2006 14:13 hs   
Quase la ....
 
mais uma alteração  
 
weekday() = 7 = Sábado
weekday() = 1 = Domingo
 
Dim datafim As Date
    datafim = Date ' Data Inicial
    For t = 1 To 1
        If Weekday(datafim) = 7 Then
            datafim = datafim + 3
        ElseIf Weekday(datafim) = 1 Then
            datafim = datafim + 2
        Else
            datafim = datafim + 1
        End If
    Next t
     
Roberto
não registrado
Postada em 05/01/2006 14:17 hs   
Daniel ...
Como so tem como passar pelo domingo quando a data inicial for domingo ????
Se no primeiro loop ele soma datainicial + 1 ????????? Sabado + 1 = Domingo .
Domingo + 1 = Segunda .... e assim por diante ... o_O
 
Nao quero causar encrenca , apenas tentei ajuda-lo .
Mesmo assim , estava errado , pois domingo é 1 e nao 7 . O exemplo do bruno é o correto .
 
Grato,
Antonio Roberto
     
Roberto
não registrado
Postada em 05/01/2006 14:24 hs   
Na verdade , a do bruno tambem não esta correta ...
Fiz o elseif para saber se a data inicial é sabado . se for sabado , pula 2 dias .
 
Grato,
Antonio Roberto
     
Daniel
Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 05/01/2006 15:00 hs            
Sem encrenca Roberto, acho que devemos sempre levantar e discutir as questões de rotinas lógicas, o que sempre irá melhorar não apenas o desempenho dos sistemas mas aprendermos a ver outras saídas lógicas que as vezes nós não vimos.
E quanto ao exemplo eu estou apenas imaginando que o sistema dele deve solicitar uma data inicial, que deve ser validada antes de entrar no loop.
Na rotina que enviei parti a data inicial da data da máquina apenas de exemplo.
Sempre que tiver sujestões, estou aberto a escuta-las, mas também gosto de discutir essas sujestões inclusive para poder estar sempre me atualizando.
Não fiquei de maneira nenhuma incomodado, ou o que quer que tenha parecido.
 

dsmn
     
Roberto
não registrado
Postada em 05/01/2006 18:30 hs   
Ok :)
Analisando bem o que falamos ,acredito que voce tenha se enganado no weekday ... pois o weekday 6 é sexta ,7 sabado e 1 domingo ... na rotina que voce mandou , voce analisa se é sexta e entao soma 3 dias ... porem ,se a data inicial dada como parametro for sabado (7) e ele quiser 1 dia util , a rotina resultaria no domingo . pois nao esta verificando o sabado (7 ) ... Entendeu ? a rotina que postei faz essa verificacao ...
Um abraço , Grato
Antonio Roberto
     
Página(s): 2/3     « ANTERIOR    PRÓXIMA »


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

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

HTML DESLIGADO

     
 VOLTAR

  



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