Текущий архив: 2004.01.13;
Скачать: CL | DM;
ВнизFilter не делается по значениям с пробелом... Найти похожие ветки
← →
CraKer (2003-12-14 00:03) [0]У меня в базе заданы ячейки с пробелами,
тоесть заданные величины не являются целостными словами,
а дельфи(6ой) не хочет фильтровать по величинам с пробелами,
говорит что ячейка не найдена, даже если указать частичный
поиск, какаой есть способ этого избежать,
что я сделал не так, и есть ли такая фигня в sql...
← →
Наталия (2003-12-14 07:51) [1]Неужели так и говорит: "Ячейка не найдена"? :))
Приведи свой код, который ты применяешь для фильтрации.
В SQL много чего есть, может быть даже и "такая фигня", смотря что ты под этим подразумеваешь...
← →
JibSkeart (2003-12-14 11:05) [2]ты лутьше покажи пример как все это выглядит
иначе мы эту фигню что то не понимаем :)
← →
CraKer (2003-12-14 22:36) [3]Суть проблеммы:
Я задаю операцию фильтра следующим образом:
procedure TForm1.Button1Click(Sender: TObject);
var
a:string;
begin
a:="my value" ;
table1.Filtered := true;
table1.Filter := "Column ="+a;
end;
Таким образом он должен фильтровать все зна чения
с именем "my value", но не делает этого, а
в ошибке пишет "Field by name my not found" примерно
так, а если переменную "a"задать как целое число
например оно у меня в таблице есть, то он фильтрует
. Операция не проходит даже если указать "m*"
тогда в ошибке просто "Field by name m not found"
Что мне делать?
← →
Anatoly Podgoretsky (2003-12-14 22:46) [4]AnsiQuotedStr
← →
Плохиш_ (2003-12-14 22:47) [5]QuotedStr(a)
← →
CraKer (2003-12-15 00:36) [6]Хорошо, а можно в контексте представленной программы????
Тоесть тыкните меня носом в место куда это нужно поместить, просто с операцией не знаком....
← →
sniknik (2003-12-15 00:43) [7]почти сутки без решения и всего 10мин после полного освешения (кода). ;о))) показательно.
еще пара (неправильных :) вариантов
a:= #39"my value"#39;
a:= """my value""";
← →
sniknik (2003-12-15 00:45) [8]CraKer (15.12.03 00:36) [6]
а разве неясно?
можно так
table1.Filter := "Column ="+AnsiQuotedStr(a);
← →
Anatoly Podgoretsky (2003-12-15 01:02) [9]sniknik © (15.12.03 00:43) [7]
А ведь могло быть сразу.
Образцово показательные учения.
← →
CraKer (2003-12-15 01:35) [10]Большое человеческое спасибо!
← →
CraKer (2003-12-15 02:04) [11]Хм.... А какже реализовать поис по части слова "my val*"
не проходит.... :(
← →
Silver Alex (2003-12-15 10:02) [12]
> А какже реализовать поис по части слова "my val*"
можно попробовать на DataSet.OnFilterRecord
← →
Anatoly Podgoretsky (2003-12-15 10:03) [13]CraKer (15.12.03 02:04) [11]
Проходит, ты наверно опять что то не так сделал и молчишь.
← →
BlackKing (2003-12-15 10:54) [14]table1.Filter := "Column ="+#39+a+#39;
jesli pole strokovoje, to bez kavichek nikak nizja
← →
BlackKing (2003-12-15 10:55) [15]Heh...opozdal"...otvet uzhe dali :o)
← →
Плохиш_ (2003-12-15 11:07) [16]Интересно Filter LIKE поддерживает?
← →
CraKer (2003-12-15 11:13) [17]Если поместить
procedure TForm1.Table1FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
var
a:string;
begin
a:="my value";
table1.Filtered := true;
table1.Filter := "Column ="+ quotedstr(a);
end;
в onfilterrecord то при компиле выпадает "Project1.exe faulted
with message: acces violation at 0x4de3b11:read of adress итд"
Если поместить код в онклик, то прицелом значении, без (*) он
фильтрует исправно, но если задать "my valu*" то ничего не
находит, просто пустой грид......
to BlackKing
Вроде я уже так пытался, но попробую еще...
← →
Sandman25 (2003-12-15 11:16) [18][17] CraKer (15.12.03 11:13)
Хватит программировать! Срочно начать чтение книг.
← →
Плохиш_ (2003-12-15 11:16) [19]>CraKer (15.12.03 11:13) [17]
Ты бы хоть F1 нажал на OnFilterRecord да почитал бы немного, там даже пример использования есть.
А то с такими знаниями далеко не уедешь.
← →
sniknik (2003-12-15 11:20) [20]CraKer (15.12.03 11:13) [17]
ты все неправильно понял, событие onFilterRecord вместо фильтрации (т.е. его сам руками делаеш), а не вместе с фильтром, тем более фильтр в нем задавать.
проверь так
procedure TForm1.Table1FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
Accept:= true; //а после с false
end;
сразу поймеш зачем оно.
Страницы: 1 вся ветка
Текущий архив: 2004.01.13;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.008 c