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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.04.2012, 11:56   #1  
uskutus is offline
uskutus
Участник
 
28 / 10 (1) +
Регистрация: 04.04.2012
Ошибка расширенного диапазона запроса: Ожидается правая круглая скобка рядом с 0.
Хай. Требуется такой запрос: select field1 from table1 where ((field1 = var1) or (field2 = var2))

Получился такой код:

query query = new query();
queryBuildDatasource qbds;

;

qbds = query.addDataSource(tablenum(table1));
qbds.addRange(fieldNum(Table1, Field1)).value(strfmt("((%1 == %2) || (%3 == %4))", fieldNum(Table1, Field1), var1, fieldNum(Table1, Field2), var2)) ;

qbds в инфологе выглядит так:

SELECT FIRSTFAST * FROM table1 WHERE ((((30001 == var1) || (30002 == var)))) .

Проблема : если в var1, var2 использовать число, все работает. Но у таблицы поля стринг и условие должно быть строка. А вот если var1, var2 строка, например 'f', выдается ошибка расширенного диапазона запроса.

Что еще заметил: без скобок ошибок нет, но без скобок мне не нужно. Т.е. когда запрос в инфологе получается только с 2 скобками, ошибки нет.

Так, если записать qbds.addRange(fieldNum(Table1, Field1)).value(strfmt("%1 == %2 || %3 == %4", fieldNum(Table1, Field1), var1, fieldNum(Table1, Field2), var2)) ;
В инфологе будет SELECT FIRSTFAST * FROM table1 WHERE ((30001 == var1) || (30002 == var)) без ошибки.

Пробовал strfmt("(%1 == N'%2') || (%3 == N'%4')", ...
Пробовал менять местами кавычки '' и "". Ошибка - Неправильные типы аргументов операции сравнения.

Что за беда. Мож знает кто.

Последний раз редактировалось uskutus; 11.04.2012 в 12:08.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ошибка расширенного диапазона запроса: stTable2.ItemId не является корректной парой datasource.field рядом с 24. uchenik DAX: Программирование 14 05.05.2011 08:47
Ошибка при определении запроса в RLS mass DAX: Программирование 3 03.03.2009 12:51
Ошибка в интерпретации запроса Mike2005 DAX: Программирование 4 02.11.2007 06:31
Ошибка расширенного диапазона Yugene DAX: Программирование 1 21.04.2006 10:36
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38

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

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

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