Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

SQL [D6, Access]


Vitaly ©   (2003-08-29 19:17:00) 

Как можно выбрать все записи за заданный год, полугодие, квартал.
Может вопрос и не сложный но я просто недавно познакомился с DELPHI.
Заранее большое спасибо!


Vitaly   (2003-08-29 20:04:00) [1]

А понял !!! Спасибо большое.


GRAND   (2003-08-29 19:57:00) [2]

Vitaly (29.08.03 19:48) [3]:
Я же тебе примерный обработчик написал. Вот он-то пускай и срабатывает по нажатию кнопки. Смысл в том, что надо сначала закрыть набор, запулять все необходимые параметры и заново открыть. А уж как разрулить даты - ну поделай стандартные кнопы там типа "1 квартал", "2 квартал" и т.д...


Vitaly   (2003-08-29 19:48:00) [3]

У меня написано так и это работает.
DataModule2.FindQuery.SQL.Clear;
DataModule2.FindQuery.SQL.Add("Select * from Spravka, Dannie");
DataModule2.FindQuery.SQL.Add("where Name Like :AGRS1");
DataModule2.FindQuery.SQL.Add("and Date between :Date1 and :Date2");
DataModule2.FindQuery.SQL.Add("AND Spravka.Key=dannie.LinkKey;");
DataModule2.FindQuery.Active:=False;
DataModule2.FindQuery.Parameters.ParamByName("AGRS1").Value:=NAGRS.Tex t;
DataModule2.FindQuery.Parameters.ParamByName("Date1").Value:=ViborData .Text;
DataModule2.FindQuery.Parameters.ParamByName("Date2").Value:=ViborData 1.Text;
Но.. мне нужно чтобы по нажатию кнопки сразу выводились данные за год выбранный пользователем.


GRAND   (2003-08-29 19:31:00) [4]

Компонент TADOQuery, в нем SQL:

SELECT * FROM TABLE1
WHERE (DATE_FIELD BETWEEN :DATE1 AND :DATE2)

В коде в нужный момент:

With ADOQuery1 Do
Begin
Close;
ParamByName("DATE1").AsString:=DateToStr(Date_Variable_1);
ParamByName("DATE2").AsString:=DateToStr(Date_Variable_2);
Open
End;


GRAND   (2003-08-29 19:29:00) [5]

Компонент TADOQuery, в нем SQL:

SELECT * FROM TABLE1
WHERE (DATE_FIELD BETWEEN :DATE1 AND :DATE2)

В коде в нужный момент:

With ADOQuery1 Do
Begin
Close;
ParamByName("DATE1").AsString:=Date_Variable_1;
ParamByName("DATE2").AsString:=Date_Variable_2;
Open
End;


Наверх

Титульная страница Поиск, карта сайта Написать письмо