Форум: "Базы";
Текущий архив: 2003.06.02;
Скачать: [xml.tar.bz2];
ВнизПеременная как параметр фильтрации Найти похожие ветки
← →
Lamer (2003-05-14 15:15) [0]Мастера.
Я присваиваю переменной а(string) значение:
a:="answer="""+combobox4.text+"""";
далее я хочу передать эту переменную в качестве параметров фильтрации:
table1.filter:="a";
Ругается, что нет такого поля (а).
Подскажите, как это правильно сделать?
← →
Snap (2003-05-14 15:17) [1]Апострофы убери. Ты хочешь исползовать значение перемнной а, а не её идентификатор.
← →
Lamer (2003-05-14 15:20) [2]Блин, ну я и стормозил:)
Спасибо.
← →
Lamer (2003-05-14 16:26) [3]А почему не получается сделать через переменные фильтр по нескольким полям.
a:="answer="""+combobox4.text+"""";
b:="vid="""+combobox2.text+"""";
c:="koll="""+combobox1.text+"""";
table1.filter:=(b) and (c) and (k) and (e) and (f) and (g);
← →
Соловьев (2003-05-14 16:30) [4]OnFilterRecord:
Accept := <условие которое интересует>
← →
Lamer (2003-05-14 16:34) [5]Он пишет
[Error] Main.pas(2606): Operator not applicable to this operand type
и останавливает после второго and.
← →
Johnmen (2003-05-14 16:34) [6]Продолжаешь тормозить...:)
table1.filter:="("+b+") and ("+c+") and ("+k+") and ("+e+") and ("+f+") and ("+g+")";
← →
Lamer (2003-05-14 16:51) [7]>Johnmen ©
Неа. Ругается: "Expression expected but ")" found".
Кстати, некоторые переменные могут не учавствовать в фильтре(я их а:="").
Т.е. по идее, определяется, по каким полям фильтровать, а по каким нет. А выражение фильтра одно:
table1.filter:=(b) and (c) and (k) and (e) and (f) and (g);
Но переменные без значения не оказывают влияния.
ТАК вообще можно???
← →
Соловьев (2003-05-14 16:55) [8]
> не учавствовать в фильтре(я их а:="").
нет как раз они участвуют, попробуй все-таки onFilterRecord
← →
Lamer (2003-05-14 17:00) [9]>Соловьев ©
Ну скажите, как это правильно сделать. Я уж замучился.
Задача
Есть несколько CHeckbox"ов (8). По тому, какие находятся в checked, нужно фильтровать по тем или иным полям. Все варианты в лоб перебирать нереально. ПАМАГИТЕ.
← →
Соловьев (2003-05-14 17:08) [10]
procedure Tdm.TableFilterRecord(DataSet: TDataSet; var Accept: Boolean);
var a1, a2, ..., a8: boolean;
begin
if not checkbox1.checed then
a1 := true
else
a1 := DataSet.FieldByName("f1").AsString = combobox1.text;
...
Accept := a1 and ... and a8;
end;
← →
Johnmen (2003-05-14 17:14) [11]Подзадержался я тут со своим постом, но тем не менее приведу :
>Соловьев © (14.05.03 16:55)
Не получится у него, я думаю... Начнет сейчас задавать вопросы по onFilterRecord...
← →
Lamer (2003-05-14 17:33) [12]Спасибо всем. Понял. Буду учиться дальше...
← →
Lamer (2003-05-14 17:36) [13]>Johnmen ©
"Не тот плох, кто задаёт вопрос, а тот кто ничего не извлекает из ответа."
Поверьте, я просто так не залезаю за советом. Ну а если вылез, значит действительно припёрло. Я ведь Lamer. Но надеюсь недолго им пробыть.
← →
Johnmen (2003-05-14 17:59) [14]>Но надеюсь недолго им пробыть.
Мы тоже надеемся ! И читай побольше ! :)
← →
Anatoly Podgoretsky (2003-05-14 18:27) [15]Lamer (14.05.03 17:36)
Мы тоже надемся, но смени ник на chainik, поскольку первое не лечится.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.06.02;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c