Как рассчитать разницу между датой создания двух записей

261
Kingsley-James

У меня есть таблица доступа. Таблица имеет два основных поля: OperatorIdи DTCreated.

Я пытаюсь найти способ рассчитать время между двумя записями на основе DTCreatedполя.

Кто-нибудь может помочь с этим?

enter image description here

0
Вероятно, так же, как Excel вычитать разницу и формат по мере необходимости. Solar Mike 7 лет назад 0
Необходимо указать в поле как часть, если запрос, пожалуйста, уточните Kingsley-James 7 лет назад 0
Попробуйте и посмотрите, что вы получите - я на смартфоне в мо ... Solar Mike 7 лет назад 0
Вы можете взять обе даты в vba и выполнить там вычисление, возвращая значение. Solar Mike 7 лет назад 0
Я не думаю, что это нужно VBA, конечно? Я мог бы сделать это с помощью VBA. Конечная игра - использовать 10 лучших записей между транзакциями в отчете о простоях. Kingsley-James 7 лет назад 0
Посмотрите, можете ли вы использовать функцию [DateDiff ()] (https://support.office.com/en-us/article/DateDiff-Function-e6dd7ee6-3d01-4531-905c-e24fc238f85f) ... Я знаю SQL, но не так много доступа, но время от времени играли с ним кое-где, так что это может быть хорошей отправной точкой для вас, по крайней мере. Pimp Juice IT 7 лет назад 0

1 ответ на вопрос

0
Kingsley-James

Обновление по запросу

Таким образом, приведенный ниже SQL-запрос возвращает, но он занимает так много времени (10 минут), и как только доступ показывает данные, которые он вылетает? кто-нибудь может помочь?

SELECT TestDataset.ID, TestDataset.OperatorID, TestDataset.DTCreated,( SELECT TOP 1 t2.DtCreated FROM TestDataSet WHERE t2.OperatorID = TestDataset.OperatorID AND t2.DtCreated < TestDataset.DtCreated ORDER BY t2.DtCreated,t2.ID) as PreviousTransaction ,Minute([DtCreated]-[PreviousTransaction]) AS Minutes FROM TestDataset ORDER BY TestDataset.OperatorID, TestDataset.DTCreated;