AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.03.2009, 10:25   #21  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Цитата:
Здесь ключевые слова "расширенный фильтр" и "like". Расширенный фильтр like не поддерживает, по крайне мере в 3.0 точно.
У меня 3-ка.

Есть таблица Table1:

Field1 Field2 Field3 Field4
100 Глав_1 П_1 F_1
100 Пред_1 Д_1 S_2
100 Пред П_3 S_3

Код:
X++:
    Query                   q;
    QueryBuildDataSource    qbds;
    QueryBuildRange         qbr;

    QueryRun                qr;
    Table1               table1;
    ;

    q    = new Query();

    qbds = q.addDataSource(TableNum(Table1));

    qbr = qbds.addRange(fieldNum(Table1, Field2));

    qbr.value(strFmt('( (%1.%2 like "Глав_*") || ((%1.%3 like "П_*") && (%1.%4 like "S_*")))',
    q.dataSourceTable(tableNum(Table1)).name(),
    fieldStr(Table1, Field2),
    fieldStr(Table1, Field3),
    fieldStr(Table1, Field4)));

    info(q.dataSourceNo(1).toString());

    qr = new QueryRun(q);

    while (qr.next())
    {
        table1 = qr.get(TableNum(Table1));

        info(table1.Field2);
    }
Выдает:
Цитата:
Сообщение (12:27:52)
SELECT * FROM Table1 WHERE ((( (Table1_1.Field2 like "Глав_*") || ((Table1_1.Field3 like "П_*") && (Table1_1.Field4 like "S_*")))))

Глав_1

Пред
Именно, что и ожидалось. Что не работает?

Единственное отличие - это поставлены кавычки на каждое значение.
Но без них выдает "Ошбку расширенного диапазона."

Последний раз редактировалось Eldar9x; 17.03.2009 в 10:43.
Старый 17.03.2009, 13:47   #22  
SIrina is offline
SIrina
Участник
Аватар для SIrina
 
51 / 10 (1) +
Регистрация: 02.03.2007
Скопировала ваш джоб, тоже не заработал - Ошибка: ожидается правая скобка...
Различные варианты кавычек и скобок тоже не помогли
У меня 3.0 SP3
Старый 17.03.2009, 14:18   #23  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
значит и на самом деле в сервиспаках решение. У меня sp5 fp2.
Старый 17.03.2009, 14:33   #24  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,438 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Eldar9x Посмотреть сообщение
значит и на самом деле в сервиспаках решение. У меня sp5 fp2.
Цитата:
Сообщение от Lucky13 Посмотреть сообщение
Расширенный фильтр like не поддерживает, по крайне мере в 3.0 точно.
Ничего не понял . Каков вердикт? У кого-нибудь кроме Eldar9x LIKE работает в расширенном фильтре? И на каких версиях перестал или начал работать?
Старый 17.03.2009, 14:57   #25  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
У меня джоб, приведенный Eldar9x выдает ошибку расширенного диапазона

Axapta 3.0 SP3
Старый 17.03.2009, 14:57   #26  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Это утверждение справедливо для версий < 5.0

Цитата:
Using wildcards and comma-separated range values
Again, the previous example here was using standard syntax, not the special syntax using expressions. It's not possible to modify the above examples to work with wildcards.

The above statement applies to AX versions < 5.0

AX 5.0 introduced solution to wildcards - while you still cannot directly use wildcards in ranges, now it supports the 'LIKE' keyword.


(AccountNum LIKE "*AA*" || Name LIKE "*AA*")
More details
За это сообщение автора поблагодарили: Kabardian (1).
Старый 18.03.2009, 07:12   #27  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Ничего не понял . Каков вердикт? У кого-нибудь кроме Eldar9x LIKE работает в расширенном фильтре? И на каких версиях перестал или начал работать?
У меня работал, читай выше...
Может дело в том, что и у меня и у него на Оракле?
Хотя конечно не понятно....
__________________
Zhirenkov Vitaly
Теги
query, range, как правильно

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
передача параметров в запрос while select tolstjak DAX: Программирование 13 15.02.2009 19:39
как сохранить запрос в таблице kitty DAX: Программирование 13 19.11.2007 20:16
Долго отрабатывает запрос по таблице InventItemLocation AlexeyBP DAX: Администрирование 1 30.05.2007 17:33
Запрос к таблице ценовых соглашений igorian DAX: Программирование 3 17.05.2006 18:42
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 03:15.