|
|
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
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
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
|
|
|
|
|
|
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
|
|
|
|
|
|
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
|
|
|
|
|
|
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
|
|
|
|