![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Фильтрация, проблема. [D7, Paradox]
Shram © (2004-02-25 14:33:00)Пытаюсь отфильтровать по имени пишу следущий фильтр :
table1.filter:='name=''Александр';
Table1.filtered:=true;
И когда в программе запускю этот фильтр выдает ошибку: 'Unterminated string constant'
Shram (2004-02-25 16:39:00) [1]Всем спасибо...
Vlad40 (2004-02-25 16:27:00) [2]Хотя работает и без пробела :-)
Vlad40 (2004-02-25 16:25:00) [3]Насколько я понимаю, проблема тут не в том, что сложно подсчитать кавычки, а в том, сколько их должно быть. Кстати, неплохо бы еще перед and пробел добавить, короче так:
Table1.Filter:='Name =''Петя'' and mydate>='+ quotedstr(datetostr(date));
Guest_2004 (2004-02-25 16:17:00) [4]Может чтоб не путаться с количеством кавычек использовать #39?
Vlad40 (2004-02-25 16:11:00) [5]А почему вдруг у тебя после Петя стоит 4 кавычки. Проблема в этом
DenK_vrtz (2004-02-25 15:32:00) [6]а не пора ли начать использовать OnFilterRecord
Shram (2004-02-25 15:29:00) [7]Уважаемые, помогите, снова возникла проблема, теперь пытаюсь отфильтровать по двум значениям по имени и по дате:
Table1.Filter:='Name =''Петя''''and mydate>='+ quotedstr(datetostr(date));
Запускаю фильтр, выдает следующуб ошибку: 'Arithmetic in filter expressions not supported'
Anatoly Podgoretsky (2004-02-25 15:03:00) [8]Стандартный взгляд на проблему :-)
Zacho (2004-02-25 14:56:00) [9]
> Anatoly Podgoretsky © (25.02.04 14:54) [7]
Ага, соответствует, что-то я проглючил малость.. :(
Anatoly Podgoretsky (2004-02-25 14:54:00) [10]Zacho © (25.02.04 14:35) [1]
Нет ругань будет в рантайм, поскольку правилам Паскаля строка соответвтвует, а вот правилам фильтра нет, будет как раз строка с одним апострофом, а надо два с обеиъ сторон константы 'Александр'
Shram (25.02.04 14:43) [4]
Не приводи ссылку вне контекста, явно это в инспекторе объектов, в том контексте правильно, а в вопросе это внутри программы.
Anatoly Podgoretsky (2004-02-25 14:53:00) [11]Zacho © (25.02.04 14:35) [1]
Нет ругань будет в рантайм, поскольку правилам Паскаля строка соответвтвует, а вот правилам фильтра нет, будет как раз строка с одним апострофом, а надо два с обеиъ сторон константы 'Александр'
Shram (25.02.04 14:43) [4]
Не приводи ссылку вне контекста, явно это в инспекторе объектов, в том контексте правильно, а в вопросе это внутри программы.
Zacho (2004-02-25 14:47:00) [12]Если ты это заносишь в Filter в design-time, в Object Inspector'е - то так и пиши. А если в коде пытаешься написать строку с кавычками, то каждую кавычку надо удваивать. Или, например, использовать ф-цию AnsiQuotedStr. Да и еще способ есть :)
Shram (2004-02-25 14:43:00) [13]Блин у меня в книге вообще написано Name='Вася'
Zacho (2004-02-25 14:41:00) [14]По правилам синтаксиса Паскаля.
Shram (2004-02-25 14:38:00) [15]Zacho © (25.02.04 14:35) [1]
Спасибо, а зачем эти две последние ковычки нужны?
Zacho (2004-02-25 14:35:00) [16]Естественно. Вообще-то это даже компилироваться не должно. Правильно так:
table1.filter:='name=''Александр''';