Разница времени с Excel и VBA
Я не могу получить среднее время от начала до конца некоторых действий,
Я пробовал 1K, но результат не правильный, каждый раз, когда у меня один день минус. изображение может объяснить лучше (это мой английский). В этом примере сумма моих действий il 480:52:56 часов, в VBA у меня другой результат, для VBA дата "19/01/1900 00:52:56", как 456:52:56 часов 24 часа минус почему такая разница? и как я могу получить такой же результат?
спасибо за любое предложение
2 ответа
Благодаря вашим комментариям я понимаю, что проблема в незначительных датах 1 марта 1900 года, поэтому я изменил выбор из:
Select [DataAttesa] as Data, avg(iif([totHours] > 1 and [totHours] < 61, dateadd("d",-1,CDate([totHours])) , [totHours])) as nr FROM [db_In$] Where TypeTrasp = "AOG" group by [DataAttesa] Order by [DataAttesa]asc
теперь, когда я помещаю recordset.results в excel, значение верное. Спасибо вообще
Даты хранятся в виде серийных номеров, где первая действительная дата имеет значение 1. Это значение в Excel читается как 01/01/1900
и в VBA как 31/12/1899
, В Excel значение 60 возвращается 29/02/1900
которого нет в VBA, поэтому начиная со значения 61 и далее все значения будут возвращать одну и ту же дату в VBA и превосходить.
/ e: Кроме того, максимальное значение составляет 2958465 (31/12/9999), значения выше этого значения приведут к ошибке, а не к действительной дате