![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
помогите сделать запрос
licherep © (2003-11-05 10:11:00)
У меня сформирован набор данных из нескольких таблиц
SELECT S.NP, S.DRP, S.AR, K.RJ, S.FACTSS, O.NOR
FROM SHET S, KRJ K, ORG O
WHERE (S.KR = K.KR) AND (S.KO = O.KO) AND (S.NP >= 2003050000) AND (S.NP <= 2003059999) AND (S.DRP IS NOT NULL)
ORDER BY S.DRP, S.NP
NP - номер счета
DRP - дата
AR - адрес
RJ - район
FACTSS - сума
NOR - название предприятия
мне надо чтобы в программе я мог выбрать нужный район из 14 DBLookupComboBox1 и месяц из 12 DBLookupComboBox2, а остальное отсеить при обработке OnClick, чтобы посмотреть какая фирма сколько денег заплатила интересующего меня района в определенном месяце
помогите плиз
bon (2003-11-05 11:11:00) [1]
>DenK_vrtz © (05.11.03 10:47) [3]
>bon, вопросик можно?
>а mounth(S.DRP) что такое?
Прошу прощения ,month(S.DRP)
Bob (2003-11-05 10:53:00) [2]
Создай запрос с параметрами, откомпилируй его (Query1.prepare), а потом присваивай значения параметрам и Query1.Open. С параметрами работать должно побыстрее.
DenK_vrtz (2003-11-05 10:47:00) [3]
bon, вопросик можно?
а mounth (S.DRP) что такое?
bon (2003-11-05 10:30:00) [4]
Для начала см.[1]
procedure TForm1.Button2Click(Sender: TObject);
var str:string;
begin
str:="";
Query1.close;
Query1.Sql.Clear;
Query1.Sql.Add("SELECT S.NP, S.DRP, S.AR, K.RJ, S.FACTSS, O.NOR");
Query1.Sql.Add("FROM SHET S, KRJ K, ORG O");
if DBLookupComboBox1.KeyValue<>null then str:=str+" and K.RJ="+DBLookupComboBox1.KeyValue;
if DBLookupComboBox2.KeyValue<>null then str:=str+" and mounth(S.DRP)="+DBLookupComboBox2.KeyValue;
Query1.Sql.Add("WHERE (S.KR = K.KR) AND (S.KO = O.KO) AND (S.NP >= 2003050000) AND (S.NP <= 2003059999) AND (S.DRP IS NOT NULL)"+str);
Query1.Sql.Add("ORDER BY S.DRP, S.NP");
Query1.Open;
end;
DenK_vrtz (2003-11-05 10:21:00) [5]исходя из http://www.delphimaster.ru/cgi-bin/forum.pl?id=1067953252&n=1для начала разобраться в ошибках!
Умение самому исправлять ошибки - первое дело!