CALCULAR ESTA DIFERENCA DE HORAS
Bom dia, Pessoal!
Eu tentei usar a função Datadiff para calcular a diferença em horas, de duas datas. Mas, não esta funcionando.
Eu fiz:
Dim Data1 As Date
Dim Data2 As Date
Dim resultado As Integer
Data1= [Ô]01/01/2010[Ô]
Data2= [Ô]20/01/2010[Ô]
Resultado = DataDiff( [Ô]h[Ô], Data1,Data2)
Obs: No meu caso, tem que retornar em horas.Algum colega, sabe o que pode estar errado???
Eu tentei usar a função Datadiff para calcular a diferença em horas, de duas datas. Mas, não esta funcionando.
Eu fiz:
Dim Data1 As Date
Dim Data2 As Date
Dim resultado As Integer
Data1= [Ô]01/01/2010[Ô]
Data2= [Ô]20/01/2010[Ô]
Resultado = DataDiff( [Ô]h[Ô], Data1,Data2)
Obs: No meu caso, tem que retornar em horas.Algum colega, sabe o que pode estar errado???
A funçà o é DateDiff não DataDiff
Pessoa,
Desculpe,mas mesmo fazendo a correção e escrevendo:
Dim Data1 As Date
Dim Data2 As Date
Dim resultado As Integer
Data1= [Ô]01/01/2010[Ô]
Data2= [Ô]20/01/2010[Ô]
Resultado = DateDiff( [Ô]h[Ô], Data1,Data2)
Continua retornando errado, não retorna nenhuma mensagem de erro. Mas, retorna um número de 6 digitos que não tem
nada a ver com o número de horas. Algum colega, sabe porque a função Datediff não funciona, para calcular
a diferença entre duas datas em [Ô]Horas[Ô]???
Desculpe,mas mesmo fazendo a correção e escrevendo:
Dim Data1 As Date
Dim Data2 As Date
Dim resultado As Integer
Data1= [Ô]01/01/2010[Ô]
Data2= [Ô]20/01/2010[Ô]
Resultado = DateDiff( [Ô]h[Ô], Data1,Data2)
Continua retornando errado, não retorna nenhuma mensagem de erro. Mas, retorna um número de 6 digitos que não tem
nada a ver com o número de horas. Algum colega, sabe porque a função Datediff não funciona, para calcular
a diferença entre duas datas em [Ô]Horas[Ô]???
colega eu fiz o teste aqui e funcionou
para desencargo de conciencia tente assim
para desencargo de conciencia tente assim
Dim Data1 As Date
Dim Data2 As Date
Dim resultado As Integer
Data1= [Ô]01/01/2010 00:00:00[Ô]
Data2= [Ô]20/01/2010 00:00:00[Ô]
Resultado = DateDiff( [Ô]h[Ô], Data1,Data2)
MsgBox Resultado
Eu já usei a função DateDiff para calcular tempo (no caso, perÃodo de dias). O que pode estar acontecendo é que a quantidade de horas entre os dias de exemplo é muito grande e retorna um número estranho.
Você poderia postar este valor para ajudar a verificar o erro?
Você poderia postar este valor para ajudar a verificar o erro?
Fiz o teste com a função acima das duas maneiras e funcionaram normalmente ambas me retornam 456 horas
se não estiver usando o sp6 do visual basic tente instala-lo
se não estiver usando o sp6 do visual basic tente instala-lo
Veja se não está havendo algum problema com a formatação do campo:
Dim Data1 As Date
Dim Data2 As Date
Dim resultado As Integer
Data1 = [Ô]2010/1/1 00:00:00[Ô] [ô]formato yyyy/MM/dd HH:mm:ss ou seja format(CDate(SEU_CAMPO_TEXTO_DATA),[Ô]yyyy/MM/dd HH:mm:ss[Ô]))
Data2 = [Ô]2010/1/20 00:00:00[Ô]
resultado = DateDiff([Ô]h[Ô], Data1, Data2)
MsgBox(resultado) [ô] neste caso, deverá retornar 456 são 19d * 24h, pois conta 0 hora do dia 20, por isso não conta com mais 24h do dia 20.
Dim Data1 As Date
Dim Data2 As Date
Dim resultado As Integer
Data1 = [Ô]2010/1/1 00:00:00[Ô] [ô]formato yyyy/MM/dd HH:mm:ss ou seja format(CDate(SEU_CAMPO_TEXTO_DATA),[Ô]yyyy/MM/dd HH:mm:ss[Ô]))
Data2 = [Ô]2010/1/20 00:00:00[Ô]
resultado = DateDiff([Ô]h[Ô], Data1, Data2)
MsgBox(resultado) [ô] neste caso, deverá retornar 456 são 19d * 24h, pois conta 0 hora do dia 20, por isso não conta com mais 24h do dia 20.
Prezados colegas,
Depois de depurar o código, descobri que havia de fato um problema
com a formatação de uma das datas! Mas, quando pensei estar tudo
resolvido, eis que o setor comercial me informa que existe mais uma regra de
negócio que esqueceram de mencionar:
Precisam,que os fim-de-semana não sejam considerados!
Ou seja, agora preciso calcular a diferença em horas, de duas datas como antes, só que
o sábado e domingo não pode ser levado em consideração nesta contagem das horas.
Isto é possÃvel???
Depois de depurar o código, descobri que havia de fato um problema
com a formatação de uma das datas! Mas, quando pensei estar tudo
resolvido, eis que o setor comercial me informa que existe mais uma regra de
negócio que esqueceram de mencionar:
Precisam,que os fim-de-semana não sejam considerados!
Ou seja, agora preciso calcular a diferença em horas, de duas datas como antes, só que
o sábado e domingo não pode ser levado em consideração nesta contagem das horas.
Isto é possÃvel???
é possivel vc primeiro vendo quantos dias do periodo iram cair em fim de semana , depois vc faz o date diff normalmente , no final faz o resultado do datediff menos o numero de horas que cairão em fim de semana
Tópico encerrado , respostas não são mais permitidas