Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.08;
Скачать: CL | DM;

Вниз

Вопрос по SQL.   Найти похожие ветки 

 
Newuser ©   (2004-07-12 12:26) [0]

Здравствуйте, уважаемые мастера! Помогите пожалуйста. Вопрос связан с использованием SQL-запроса. На форме разместил два RadioGroup-а и два ComboBox-а, в каждом из которых (в Items-ах) много значений. В DBGrid-е данные должны изменяться после именения в каждом из вышеуказанных компоненте. Подскажите, как в коде поступить, перебирать SQL по каждому значению? Или можно по-проще. Извините, если не правильно объяснил.


 
Соловьев ©   (2004-07-12 12:29) [1]


> Подскажите, как в коде поступить, перебирать SQL по каждому
> значению?

менять только строку whereб согласно значениям RadioGroup и ComboBox


 
Курдль ©   (2004-07-12 12:32) [2]

Сейчас последует: "а по подробнее можно (с примерами, кодом и комментариями) за рание благодарен..."


 
Johnmen ©   (2004-07-12 12:34) [3]

см. Filter и Filtered


 
Newuser ©   (2004-07-12 12:34) [4]

[1]
Да, но если у меня, например, в RadioGroup-е выбор года (2002, 2003, 2004), а в dbf-файле поле имеет совсем другие значения.


 
Соловьев ©   (2004-07-12 12:35) [5]


> а в dbf-файле поле имеет совсем другие значения

LocalSQL.hlp+extract


 
Newuser ©   (2004-07-12 12:36) [6]

[2]
Нет не попрошу готовые коды. Прошу только "подтолкнуть" на нужную тропу.


 
Курдль ©   (2004-07-12 12:37) [7]

СУБД какая?


 
Newuser ©   (2004-07-12 12:38) [8]

[7]
DBASE.


 
Newuser ©   (2004-07-12 12:40) [9]

[5]
>LocalSQL.hlp+extract
Поясните пожалуйста.


 
Соловьев ©   (2004-07-12 12:42) [10]


> Поясните пожалуйста.

1-е - это файл справки. он ставится при уставноке БДЕ, 2-е - это функция выдергивания из даты года, месяца и т.п.


 
Newuser ©   (2004-07-12 12:50) [11]

[10]
Я понимаю, но не только в дате дело. Например в ComboBox-е
Другие необоротные материальные активы (библиотечные фонды) 11100
А в поле ss="11100"


 
Newuser ©   (2004-07-12 12:52) [12]

[10]
Извините, убегу минут на 40.


 
Newuser ©   (2004-07-12 15:54) [13]

[10]
Так получилось, что из-за грозы у нас были отключены все компьютеры и только сейчас я могу дальше общаться с Вами.
Ну все-таки, как же быть?
>Другие необоротные материальные активы (библиотечные фонды) 11100
>А в поле ss="11100"


 
Соловьев ©   (2004-07-12 15:59) [14]

Copy,Pos,Lenght - F1


 
Newuser ©   (2004-07-12 16:12) [15]

[14]
Хорошо, со справкой я ознакомлюсь, но все же я думаю Вы меня не понимаете. Проблема в том, что я перебираю каждый компонент таким образом:
procedure TFm_ostatView.Button2Click(Sender: TObject);
begin
 case RadioGroup1.ItemIndex of
 0:
 case RadioGroup2.ItemIndex of
 0:
 case ComboBox1.ItemIndex of
 0:
 case ComboBox2.ItemIndex of
 0:
   with Query1 do begin
            SQL.Clear;
            SQL.Add("select a.ns, ss, cena, q1, sum1, qt, sumt, data, b.namem, c.text_");
            SQL.Add("from m_s0401 a, m_nc b, c_kei c");
            SQL.Add("where a.nn=b.nn and b.kei=c.kod and ns="00000001" and ss="11100"");
            SQL.Add("order by ss");
            Open;
   end;
end;
begin
 case RadioGroup1.ItemIndex of
 0:
 case RadioGroup2.ItemIndex of
 0:
 case ComboBox1.ItemIndex of
 0:
 case ComboBox2.ItemIndex of
 1:
   with Query1 do begin
            SQL.Clear;
            SQL.Add("select a.ns, ss, cena, q1, sum1, qt, sumt, data, b.namem, c.text_");
            SQL.Add("from m_s0401 a, m_nc b, c_kei c");
            SQL.Add("where a.nn=b.nn and b.kei=c.kod and ns="00000001" and ss="11200"");
            SQL.Add("order by ss");
            Open;
end;
end;
................
А хочу проще сделать.


 
Соловьев ©   (2004-07-12 16:14) [16]


> А хочу проще сделать.

TQuery.Params+F1


 
Newuser ©   (2004-07-12 16:15) [17]

Наверно я вообще все не так делаю, но как?


 
Newuser ©   (2004-07-12 16:18) [18]

Соловьев ©   (12.07.04 16:14) [16]
> Пробовал параметрический запрос. Но или я не так сделал, или... Ну не отправляйте к справке...


 
Соловьев ©   (2004-07-12 16:22) [19]


> Но или я не так сделал,

как делал?


 
Newuser ©   (2004-07-12 16:27) [20]

[19]
>как делал?
Ну примерно так:
select a.ns, ss, cena, q1, sum1, qt, sumt, data, b.namem, c.text_
from m_s0401 a, m_nc b, c_kei c
where a.nn=b.nn and b.kei=c.kod and ((nn= :Name_param) or (nn=:Name_param1)
or (nn=Name_param2) or (nn=Name_param3) or (nn=:Name_param4))


 
Соловьев ©   (2004-07-12 16:51) [21]


> ((nn= :Name_param) or (nn=:Name_param1)
> or (nn=Name_param2) or (nn=Name_param3) or (nn=:Name_param4))

почему or? тебе же and надо?
тут действительно надо формировать строку where - параметры не спасут.


> А хочу проще сделать.

напиши функцию которая возвращает строку where:
 with Query1 do begin
           SQL.Clear;
           SQL.Add("select a.ns, ss, cena, q1, sum1, qt, sumt, data, b.namem, c.text_");
           SQL.Add("from m_s0401 a, m_nc b, c_kei c");
           SQL.Add(build_where(RadioGroup1,RadioGroup2, Combobox1, Combobox2));
           SQL.Add("order by ss");
           Open;


 
Newuser ©   (2004-07-12 16:57) [22]

[21]
>почему or? тебе же and надо?
Ну это я на примере одного компонента.
>SQL.Add(build_where(RadioGroup1,RadioGroup2, Combobox1, Combobox2));
А вот тут ничего понимаю...


 
Соловьев ©   (2004-07-12 16:59) [23]


> А вот тут ничего понимаю...

функция которая на основе входных параметров построит строку where.


 
Newuser ©   (2004-07-12 17:03) [24]

А в where...  ...RadioGroup1,RadioGroup2, Combobox1, Combobox2)); в таком виде и остается или подними подразумевается прописывание...


 
Соловьев ©   (2004-07-12 17:10) [25]


> или подними подразумевается прописывание...

под этим поразумевается кодирование, т.е. написание функции, я привел как вызывать ее.


 
Newuser ©   (2004-07-12 17:37) [26]

Соловьев ©   (12.07.04 17:10) [25]
Понял, спасибо!



Страницы: 1 вся ветка

Текущий архив: 2004.08.08;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.038 c
1-1090494283
MORA
2004-07-22 15:04
2004.08.08
RXdbComboEdit


4-1088085689
DeMoN_Astra
2004-06-24 18:01
2004.08.08
ShellExecute - как запустить app свернутым?


6-1086785960
IllusoryOrion
2004-06-09 16:59
2004.08.08
Замена стандартных страниц


14-1090328997
офф ;(
2004-07-20 17:09
2004.08.08
значение слова мизерабль? Ну понятно что- плебей, а поконкретней?


1-1090619927
Katleta
2004-07-24 01:58
2004.08.08
Как из WinZip a прочитать файл !