|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
выборка из диапазона дат в 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 заранее очень благодарен. |
#2
|
||||
|
||||
Примерно так:
Код:
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 :UserDate between base_doc.period1 AND base_doc.period2 Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#3
|
|||
|
|||
а можно как то по подробнее? желательно код, я просто не силен в Delphi а исходник достался от прошлого программиста.
|
#4
|
|||
|
|||
причем тут Delphi, это SQL запрос.
Страдалецъ написал запрос. ключевое: Код:
WHERE :UserDate between base_doc.period1 AND base_doc.period2 where-Ограничивает возвращаемые значения. between- указывает значения в диапазоне от и до.(включительно) ПС. если надо указать диапазон и чтоб поля period1 и period2 входили в него то можно так: Код:
WHERE (base_doc.period1 between :UserDate1 AND :UserDate2) and (base_doc.period2 between :UserDate1 AND :UserDate2) Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение" |
#5
|
|||
|
|||
а UserDate1 что значит поля на форме?
|
#6
|
|||
|
|||
Цитата:
|
#7
|
|||
|
|||
Прости не понимаю, ты можешь на примере моего запроса написать правильно?
|
#8
|
|||
|
|||
Например на форме имеем:
ADOQuery1 2 DateTimeEdit (календарь короче не помню как оно называется) 1 кнопку. в свойство SQL компонента ADOQuery1 пишем запрос: Код:
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 (base_doc.period1 between :UserDate1 AND :UserDate2) and (base_doc.period2 between :UserDate1 AND :UserDate2) жмем 2 раза на кнопку. в обработчике пишем: Код:
ADOQuery1.Active := false; ADOquery1.parameters.parambyname('UserDate1').Value:=DatetimeEdit1.date; ADOquery1.parameters.parambyname('UserDate2').Value:=DatetimeEdit2.date; ADOQuery1.Active:=true; Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение" |
#9
|
|||
|
|||
Огромное спасибо! сегодня вечером попробую.
|