Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.51 MB
Время: 0.037 c
1-37668
Catherin
2003-12-26 15:02
2004.01.13
text iz memo pri perenisenii v pis mo stanovitsja v odnu strochku


1-37793
sasa2001
2003-12-29 11:34
2004.01.13
Plz, как сделать в TMemo вертикальный скрол


1-37748
YurikV
2003-12-30 09:41
2004.01.13
Вопрос по ListView


1-37785
Mike_forewer
2003-12-27 19:36
2004.01.13
Фон в MainMenu


1-37763
miracle_fox
2003-12-29 17:00
2004.01.13
клавиша <enter> в Edit - как придать ей особое значение?