|
автор: DemonKPZ (09.06.2006 в 00:00) |
|
| Есть таблица. В ней несколько полей, одно из которых (время прихода человека - ArriveTimeInfo) имеет тип Date. Оператор в форме указывает 2 диапазона: 1-й - диапазон дат (например, 01.06.2006...08.06.2006), 2-й диапазон времени (например, 09:00:00...12:00:00). Помогите составить запрос который отбирает записи, в которых значение в поле TimeInfo попадает в диапазон по датам, а уже в этих записях отбираются те, которые попадают в диапазон по времени. Т.е. фактически необходимо получить список людей, которые пришли c 9 до 12 в период с 1-ого по 8 июня. | |
|
| |
|
автор: ?????? (09.06.2006 в 00:00) |
|
| Re: Помогите с запросом Надо делать два запроса. Сначала по дате, а потом из запроса по дате выборку по времени | |
|
| |
|
автор: ?????? (09.06.2006 в 00:00) |
|
| пока не поздно пишите в таблицу только одно время - время прихода
иначе гемморой в дальнейшем Вам обеспечен | |
|
| |
|
автор: DemonKPZ (09.06.2006 в 00:00) |
|
| Re: пока не поздно У меня есть конкретные форматы таблиц, мне с ними и нужно работать. | |
|
| |
|
автор: DemonKPZ (30.11.-1 в 00:00) |
|
| Re: Помогите с запросом Мой запрос выглядит так:
SELECT StudentArrive.CardNumber, StudentArrive.DateTimeInfo, StudentArrive.IsArrive
FROM StudentArrive
WHERE (StudentArrive.DateTimeInfo)>=#10/23/2005# And (StudentArrive.DateTimeInfo)<=DateAdd("d",1,#10/26/2005#)
And (DatePart("h",StudentArrive.DateTimeInfo)*3600+DatePart("n",StudentArrive.DateTimeInfo)*60+DatePart("s",StudentArrive.DateTimeInfo))>=9*3600+30*60+0
And (DatePart("h",StudentArrive.DateTimeInfo)*3600+DatePart("n",StudentArrive.DateTimeInfo)*60+DatePart("s",StudentArrive.DateTimeInfo))<=10*3600+40*60+0;
Довольно громоздко и не красиво, но работает. Хотелось бы ужать его в нечто более изящное. | |
|
| |