Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.07.2010, 11:35   #1
antoni
Пользователь
 
Регистрация: 01.08.2008
Сообщений: 32
Печаль Выбрать данные из диапазона дат в ADOQuery

Народ помогите! дайте пример выборки из диапазона дат по полям period1 and period2

SELECT base_doc.id_base, spr_doc.spr_doc, base_doc.data, spr_user.spr_user, base_doc.period1, base_doc.period2, base_doc.rezul, base_doc.data_akt,
base_doc.naim_subj, base_doc.id_doc, base_doc.id_user
FROM base_doc LEFT OUTER JOIN
spr_doc ON base_doc.id_doc = spr_doc.id_SprDoc LEFT OUTER JOIN
spr_user ON base_doc.id_user = spr_user.id_user

заранее очень благодарен.
antoni вне форума Ответить с цитированием
Старый 27.07.2010, 12:35   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Примерно так:
Код:
...
Where
 (period1 between дата1 and Дата1)
 and(period2 between дата3 and Дата4)
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.07.2010, 12:37   #3
antoni
Пользователь
 
Регистрация: 01.08.2008
Сообщений: 32
По умолчанию

а как в Delphi правильно написать? на SQL я знаю.
antoni вне форума Ответить с цитированием
Старый 27.07.2010, 12:54   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Например так:
Код:
ADOquery.Sql.Text:='SELECT base_doc.id_base, spr_doc.spr_doc, base_doc.data, spr_user.spr_user, 
base_doc.period1, base_doc.period2, base_doc.rezul, base_doc.data_akt,
base_doc.naim_subj, base_doc.id_doc, base_doc.id_user
 FROM base_doc LEFT OUTER JOIN
spr_doc ON base_doc.id_doc = spr_doc.id_SprDoc LEFT OUTER JOIN
spr_user ON base_doc.id_user = spr_user.id_user 
 Where
 (period1 between дата1 and Дата1)
 and(period2 between дата3 and Дата4)';
ADOQuery.Open;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.07.2010, 19:08   #5
Sparky
Участник клуба
 
Аватар для Sparky
 
Регистрация: 15.05.2009
Сообщений: 1,222
По умолчанию

чуть-чуть дополню, можно еще в качестве Дата1 и т.п. Использовать параметры, будет выглядеть так:
Код:
ADOquery.close;
ADOquery.Sql.Text:='SELECT base_doc.id_base, spr_doc.spr_doc, base_doc.data, spr_user.spr_user, 
base_doc.period1, base_doc.period2, base_doc.rezul, base_doc.data_akt,
base_doc.naim_subj, base_doc.id_doc, base_doc.id_user
 FROM base_doc LEFT OUTER JOIN
spr_doc ON base_doc.id_doc = spr_doc.id_SprDoc LEFT OUTER JOIN
spr_user ON base_doc.id_user = spr_user.id_user 
 Where
 (period1 between :p1 and :p2)
 and(period2 between :p3 and :p4)';
ADOquery.parametrs.parambyname('p1').value:=datatimepicker.datatime //указываете здесь откуда получать значение тоже самое и с остальными параметрами
ADOQuery.Open;
Единственное, что ограничивает полет мысли программиста-компилятор
Sparky вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
из диапазона двух выбранных дат, отдельно вывести(перечислить) дни, месяцы, годы Alex003 Помощь студентам 5 12.05.2010 22:03
Генерация случайных дат из диапазона, как реализовать? antoha73 Общие вопросы Delphi 7 24.03.2010 07:15
данные из диапазона в коментарий d_alexej Microsoft Office Excel 7 17.08.2009 21:44
Выбор Диапазона Дат Chepa БД в Delphi 2 02.02.2007 10:25