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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.08.2009, 08:25   #1  
Tolikv is offline
Tolikv
Участник
 
20 / 11 (1) +
Регистрация: 14.05.2007
А как сделать запрос если у меня Value разные?
Вот мой пример помогите составить запрос:

X++:
        Criteria = this.query().dataSourceTable(tablenum(Table1)).addRange(fieldnum(Table1, RecId));

        Criteria.value("((Field1 <= "+queryValue(Value1)+") && (Field2 >="+queryValue(Value1)+") && (Field3 == "+Value2+"))");

Последний раз редактировалось Tolikv; 07.08.2009 в 08:36.
Старый 07.08.2009, 10:05   #2  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,443 / 1781 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Tolikv Посмотреть сообщение
Вот мой пример помогите составить запрос:

X++:
        Criteria = this.query().dataSourceTable(tablenum(Table1)).addRange(fieldnum(Table1, RecId));

        Criteria.value("((Field1 <= "+queryValue(Value1)+") && (Field2 >="+queryValue(Value1)+") && (Field3 == "+Value2+"))");
У вас условия заданы через AND. В этом случае не обязательно использовать расширенный синтаксис, можно обойтись обычным range.
Старый 07.08.2009, 10:08   #3  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
У вас условия заданы через AND. В этом случае не обязательно использовать расширенный синтаксис, можно обойтись обычным range.
Важно не только то, что через AND, но и то что на разные поля.

На разные поля Рэнджи соединяются по "И", а на одинаковые - по "ИЛИ" (из за чего чаще всего и приходится писать расширенный рэндж).
Вам, Tolikv, действительно он не нужен.
__________________
Zhirenkov Vitaly
Старый 07.08.2009, 10:55   #4  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,443 / 1781 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от ZVV Посмотреть сообщение
На разные поля Рэнджи соединяются по "И", а на одинаковые - по "ИЛИ"
+ наличие отрицания в условии, тоже вносит свои коррективы.

И вспомнил ещё один ньюанс.
Нестрогие неравенства в range задаются не символами '>=', '<=' а символом диапазона '..'. Для получения такого условия предназначена функция SysQuery::range()

P.S.: http://axapta.mazzy.ru/lib/search/
Теги
query, запрос (query), фильтр

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Пересчет между двумя единицами измерения на уровне партии Андре DAX: Функционал 15 22.10.2013 00:26
Как сделать AND между двумя датасорсами на одном уровне в query rkorchagin DAX: Программирование 15 15.01.2009 17:42
Можно ли в инамическом запросе использовать "group by"? yooshi DAX: Программирование 26 23.09.2005 16:35
Как правильно установить связь между двумя записями в InventDim Sirius DAX: Программирование 0 25.05.2004 16:50
Cвязь данных между двумя формами Artild DAX: Программирование 11 24.06.2003 10:45
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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