![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Filter не делается по значениям с пробелом... [D6, dBase, FoxPro]
CraKer © (2003-12-14 00:03:00)
У меня в базе заданы ячейки с пробелами,
тоесть заданные величины не являются целостными словами,
а дельфи(6ой) не хочет фильтровать по величинам с пробелами,
говорит что ячейка не найдена, даже если указать частичный
поиск, какаой есть способ этого избежать,
что я сделал не так, и есть ли такая фигня в sql...
sniknik (2003-12-15 11:20:00) [1]
CraKer (15.12.03 11:13) [17]
ты все неправильно понял, событие onFilterRecord вместо фильтрации (т.е. его сам руками делаеш), а не вместе с фильтром, тем более фильтр в нем задавать.
проверь так
procedure TForm1.Table1FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
Accept:= true; //а после с false
end;
сразу поймеш зачем оно.
Плохиш_ (2003-12-15 11:16:00) [2]
>CraKer (15.12.03 11:13) [17]
Ты бы хоть F1 нажал на OnFilterRecord да почитал бы немного, там даже пример использования есть.
А то с такими знаниями далеко не уедешь.
Sandman25 (2003-12-15 11:16:00) [3]
[17] CraKer (15.12.03 11:13)
Хватит программировать! Срочно начать чтение книг.
CraKer (2003-12-15 11:13:00) [4]
Если поместить
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
Вроде я уже так пытался, но попробую еще...
Плохиш_ (2003-12-15 11:07:00) [5]
Интересно Filter LIKE поддерживает?
BlackKing (2003-12-15 10:55:00) [6]
Heh...opozdal"...otvet uzhe dali :o)
BlackKing (2003-12-15 10:54:00) [7]
table1.Filter := "Column ="+#39+a+#39;
jesli pole strokovoje, to bez kavichek nikak nizja
Anatoly Podgoretsky (2003-12-15 10:03:00) [8]
CraKer (15.12.03 02:04) [11]
Проходит, ты наверно опять что то не так сделал и молчишь.
Silver Alex (2003-12-15 10:02:00) [9]
> А какже реализовать поис по части слова "my val*"
можно попробовать на DataSet.OnFilterRecord
CraKer (2003-12-15 02:04:00) [10]
Хм.... А какже реализовать поис по части слова "my val*"
не проходит.... :(
CraKer (2003-12-15 01:35:00) [11]
Большое человеческое спасибо!
Anatoly Podgoretsky (2003-12-15 01:02:00) [12]
sniknik © (15.12.03 00:43) [7]
А ведь могло быть сразу.
Образцово показательные учения.
sniknik (2003-12-15 00:45:00) [13]
CraKer (15.12.03 00:36) [6]
а разве неясно?
можно так
table1.Filter := "Column ="+AnsiQuotedStr(a);
sniknik (2003-12-15 00:43:00) [14]
почти сутки без решения и всего 10мин после полного освешения (кода). ;о))) показательно.
еще пара (неправильных :) вариантов
a:= #39"my value"#39;
a:= """my value""";
CraKer (2003-12-15 00:36:00) [15]
Хорошо, а можно в контексте представленной программы????
Тоесть тыкните меня носом в место куда это нужно поместить, просто с операцией не знаком....
Плохиш_ (2003-12-14 22:47:00) [16]
QuotedStr(a)
Anatoly Podgoretsky (2003-12-14 22:46:00) [17]
AnsiQuotedStr
CraKer (2003-12-14 22:36:00) [18]
Суть проблеммы:
Я задаю операцию фильтра следующим образом:
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"
Что мне делать?
JibSkeart (2003-12-14 11:05:00) [19]
ты лутьше покажи пример как все это выглядит
иначе мы эту фигню что то не понимаем :)
Наталия (2003-12-14 07:51:00) [20]
Неужели так и говорит: "Ячейка не найдена"? :))
Приведи свой код, который ты применяешь для фильтрации.
В SQL много чего есть, может быть даже и "такая фигня", смотря что ты под этим подразумеваешь...