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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.06.2004, 16:09   #1  
kgksoft is offline
kgksoft
Участник
 
37 / 107 (4) +++++
Регистрация: 24.12.2003
? проблема отрицаний в QueryBuildRange
Пример тестовый.

------------------------------------------------------
InventTable it;
QueryBuildDataSource qbds;
Query query = new Query();
QueryBuildRange qbr;
QueryRun qr;
str 50 ss = "000001,000002";
;

qbds = query.addDataSource(tablenum(InventTable));
qbr = qbds.addRange(fieldnum(InventTable,ItemId));
qbr.value("!("+ss+")");
info(qbds.toString());

qr = new QueryRun(query);
qr.reset();

while (qr.next())
{
it = qr.get(tableNum(InventTable));
info(it.ItemId);
}

------------------------------------------------------

Аксапта в данном случает генерирует правильный запрос

SELECT * FROM InventTable WHERE ((NOT (ItemId = (000001) OR ItemId = 000002)))

но при этом запрос выбирает все записи, в том числе с ItemId = 000001 и 000002 .
Этот же запрос, выполненный через SQL Query Analyser дает правильный результат.

Как делать отрицания типа
Not In (......) через QueryBuildRange ?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Проблема с единицей измерения longson DAX: Программирование 4 16.07.2007 14:35
Проблема с количеством в QueryBuildRange.Value() laxer DAX: Программирование 22 30.08.2006 13:56
Проблема с созданием объекта Lelya DAX: Администрирование 33 27.06.2005 16:38
lookup - проблема. Помогите! kashperuk DAX: Программирование 14 10.12.2004 15:28
Проблема: русские шрифты в отчетах, формируемых на сервере. Anais DAX: Администрирование 3 17.11.2003 13:20

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

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

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