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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.12.2008, 07:16   #1  
uchenik is offline
uchenik
Участник
 
119 / 20 (1) +++
Регистрация: 15.12.2008
Да так и делаю и все вроде работает, но видимо:
"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*")"

Забыл указать Ах3.0

Мой сумбур на данный момент выглядит так:
Код:
...
QueryBuildDataSource qbdsTable1;
QueryBuildDataSource qbdsTable2;
QueryBuildRange      qbrTable1;
QueryBuildRange      qbrTable2;
FreeTxt              qValueTable1;
FreeTxt              qValueTable2;
;
qbdsTable1 = this.query().dataSourceTable(tablenum(Table1));
qbdsTable2 = this.query().dataSourceTable(tablenum(Table2));
qbdsTable2.addLink(fieldnum(Table2, num), fieldnum(Table1, num));
qbdsTable2.joinMode(JoinMode::ExistsJoin);
qbrTable1 = qbdsTable1.addRange(fieldnum(Table1, RecId));
qbrTable2 = qbdsTable2.addRange(fieldnum(Table2, RecId));
while select Table3
{
        if(qValueTable1)
         qValueable1 += '||';
                qValueTable1 += strFmt('(%1.Type=="%2")', qbdsTable1.name(), Table3.Type);
}  
while select Table4
{
 if(qValueTable2)
         qValueTable2 += '||';
                qValueTable2 += strFmt('(%1.Param=="%2")&&(%1.Value=="%3")',
                    qbdsTable2.name(), Table4.Param, Table4.Values);
}
qbrTable2.value(qValueTable2);
qbrTable1.value(qValueTable1);
...
Смого главного добиться не знаю как.

Последний раз редактировалось uchenik; 16.12.2008 в 07:29.
Старый 16.12.2008, 13:30   #2  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Не понял, так что не работает то? Что у вас самое главное, которого не можете добиться? like?
С ним нормально можно работать и в тройке (пример на 3.0 SP3):
X++:
static void ZVVTestJobQuery(Args _args)
{
    QueryBuildDataSource    qbdsIJT;
    QueryBuildRange         qbrIJT;

    Query                   query = New Query();
    QueryRun                queryRun;

    FreeText                rangeValue;

    inventJournalTable      inventJournalTable;
    ;

    qbdsIJT = query.addDataSource(tablenum(inventJournalTable));
    qbdsIJT.addSelectionField(FieldNum(inventJournalTable, JournalNameId));
    qbdsIJT.orderMode(OrderMode::GroupBy);
    qbdsIJT.addSortField(FieldNum(inventJournalTable, JournalNameId));


    qbrIJT =  qbdsIJT.addRange(fieldnum(inventJournalTable, RecId));

    rangeValue = strFmt('(%1.%2 like "%3")&&(%1.%4==%5)'
                       ,qbdsIJT.name()
                       ,FieldStr(inventJournalTable, JournalNameId)
                       ,strFmt("%1%2", "Перенос", '*')
                       ,FieldStr(inventJournalTable, JournalType)
                       ,any2int(InventJournalType::Transfer));

    qbrIJT.value(rangeValue);

    info(qbdsIJT.toString());

    queryRun = New QueryRun(query);

    while (queryRun.next())
    {
        inventJournalTable = queryRun.get(tablenum(inventJournalTable));
        info(inventJournalTable.JournalNameId);
    }
}
Результат:
PHP код:
Сообщение (12:25:42)
SELECT JournalNameId FROM InventJournalTable GROUP BY InventJournalTable.JournalNameId ASC WHERE (((InventJournalTable_1.JournalNameId like "Перенос*")&&(InventJournalTable_1.JournalType==2)))
перенос
перенос сгп 
Или в чём собственно затык, поясните?
__________________
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, время: 07:38.