Мне кажется, здесь может быть полезна функция Partition ().
Ваш код будет создавать оператор SELECT на основе выбора пользователя для даты (я предположил, что вы хотите ограничить запрос значениями начала и времени для одной даты), единицами времени и групповым интервалом.
Это будет 14 июня 2011 г. в качестве даты, минуты в качестве единиц времени и 15 минут в качестве интервала.
SELECT
Partition(elapsed,0,1440,15) AS time_block,
q.id,
q.begindatetime
FROM
[SELECT
t.id,
t.begindatetime,
TimeValue(t.begindatetime) * 1440 AS elapsed
FROM tblHK1 AS t
WHERE
t.begindatetime>=#2011-06-14#
And t.begindatetime<#2011-06-15#
]. AS q
ORDER BY q.begindatetime;
Не уверен, насколько это тебе понравится. Вот пример вывода:
time_block id begindatetime
60: 74 1 6/14/2011 1:06:05 AM
555: 569 3 6/14/2011 9:15:00 AM
1395:1409 4 6/14/2011 11:15:00 PM
Столбец time_block не очень удобен для пользователя.