Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.01.13;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.012 c
1-37605
NneRreaLl
2003-12-29 01:07
2004.01.13
Передать результат


1-37794
succer
2003-12-28 04:53
2004.01.13
Как переустановить модуль forms.pas


9-37489
Карлсон
2003-06-24 12:00
2004.01.13
проверка на разрешение и количество цветов.


3-37511
пустойчайник
2003-12-16 12:25
2004.01.13
Странное поведение программы (DBGrid)


14-37912
MPS
2003-12-20 03:50
2004.01.13
...по поводу сертификации RetraTech





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский