Гость
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Глючит Filter / 4 сообщений из 4, страница 1 из 1
10.04.2010, 11:42
    #36572126
Заятс
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глючит Filter
Помогите разобраться с фильтром: dw.SetFilter(expr); dw.Filter()
Если expr = " field1 = 'val1' and field2 = 'val2' " фильтр устанавливается правильно.
Если expr = " Left( field1, n1) = 'val1' and Left( field2, n2) = 'val2' " - в отбор попадают "лишние" записи, по какому критерию непонятно.
При этом фильтр каждый по отдельности, т.е. " Left( field1, n1) = 'val1' "; " Left( field2, n2) = 'val2' ", отрабатывают правильно.
Задаю фильт " Left( field1, n1) = 'val1' and Left( field2, n2) = 'val2' " непосредственно в самом объекте dw - тоже отрабатывает правильно.
PB 10.5 build 4523.
Думал глюк конкретно этой версии PB, проверил в PB 9.0 - результат тот же.
Подскажите, это действительно глюк PB. Если да, то как обойти? Можно ли задать фильтр через Describe?
...
Рейтинг: 0 / 0
10.04.2010, 12:20
    #36572150
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глючит Filter
Начните с того что поставьте скобки чтобы задать приоритет всех операций явно.
В выражениях DW используется нетрадиционная система приоритетов

Хотя то, что то же самое выражение работает в паинтере - подозрительно.
А что возвращают SetFilter и Filter ?
...
Рейтинг: 0 / 0
10.04.2010, 12:55
    #36572186
Заятс
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глючит Filter
Anatoly Moskovsky, Скобки расставил самым тщательным образом, проблема не в этом.
Проблему обошел задание фильтра в самом объекте, т.е.
Код: plaintext
1.
dw.Object.DataWindow.Table.Filter = expr
dw.Filter()
- работает как часы
...
Рейтинг: 0 / 0
10.04.2010, 20:32
    #36572444
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Глючит Filter
ЗаятсAnatoly Moskovsky, Скобки расставил самым тщательным образом, проблема не в этом.
Проблему обошел задание фильтра в самом объекте, т.е.
Код: plaintext
1.
dw.Object.DataWindow.Table.Filter = expr
dw.Filter()
- работает как часы
Это просто ясно показывает, что вы плохо формировали строку для SetFilter (проблемы с кавычками)...
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Глючит Filter / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]