Главная страница
    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.48 MB
Время: 0.008 c
14-37849
Vlad Oshin
2003-12-23 10:01
2004.01.13
outlook. сохранение вложений.


14-37865
stud
2003-12-23 17:02
2004.01.13
заставить вин2000 роутить


1-37648
Cam
2003-12-31 07:53
2004.01.13
DCU


9-37488
Zloy Alien
2003-05-02 08:17
2004.01.13
ГЕНЕРАТОР ИМЕН В ИГРАХ.


4-37973
X-Disa
2003-11-10 13:27
2004.01.13
Процессы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский