Расчет промежутка времени в MS Access - PullRequest
0 голосов
/ 05 апреля 2019

У меня есть таблица (Access 2016) tbl_b с датой / временем регистрации b_customer (число) b_date (дата) b_start (дата / время) b_end (дата / время)

Я хочу сделать график всех регистраций времени за день в выбранном месяце и разрывов между этими временами. Для этого мне нужен запрос или таблица, показывающая все время в качестве источника для диаграммы. Я немного растерялся, как подойти к этому. Я предполагаю, что источник диаграммы нуждается в последовательных записях со всеми регистрациями даты и времени, чтобы сделать это. Мой подход заключается в создании временной таблицы (tmp), рассчитывающей все периоды времени, когда клиент равен нулю. Следующим шагом будет запрос объединения для объединения таблиц tbl_b и tmp. В tbl_b нет записей за каждый день, поэтому я использую запрос, генерирующий все дни в выбранном месяце, который будет использоваться в диаграмме (это решение можно найти здесь: [ Создать список дат в запросе Access )

Недостаток использования таблицы tmp для «промежутков времени» состоит в том, что она не обновляет реальное время, когда запрос предоставит такую ​​возможность. У меня есть около 20 запросов для выполнения конечного результата, но MS Access продолжает выдавать (ожидаемые) ошибки, что запросы слишком сложны. Каждый запрос ищет разницу между временем окончания предыдущего запроса и временем следующего запуска. С другой стороны, у этого подхода есть и слабые стороны, я думал, что 15 шагов будет достаточно (ожидается не более 15 пробелов), но в этом нет уверенности.

Может ли кто-нибудь дать мне понять, как это можно сделать более простым (и реально работающим) методом? Может VBA?

Thx!

Art

...