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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.10.2004, 15:20   #1  
EreminIgor is offline
EreminIgor
Участник
 
18 / 10 (1) +
Регистрация: 08.10.2004
Адрес: Москва
запрос писался используя материалы статьи
"Древовидная структура источников данных в Query"
http://www.axforum.info/forums/showt...=7889#post7889

Суть в том, что мне не просто нужен запрос который вернет все записи,
а этот query пользователи еще "ограничивают" (добавляют range) если нужно
во время prompt(), и выборка данных должна содержать только тот список значений
таблицы Классификатор, который не противоречит значениям, выбранным пользователями в связанных таблицах (я не знаю как какие поля и какими значениями пользователи захотят ограничить таблицы)

правда, что не в ту сторону - попробовал исправить и
получил также неправильный запрос:

SELECT * FROM RFORProgrammeClassifierTable EXISTS JOIN * FROM RFORExpenceItemTable WHERE RFORProgrammeClassifierTable.RFORExpenceItem = RFORExpenceItemTable.RFORExpenceItem EXISTS JOIN * FROM RFORTerritoryItemTable WHERE RFORProgrammeClassifierTable.RFORTerritoryItem = RFORTerritoryItemTable.RFORTerritoryItem EXISTS JOIN * FROM RFORTerritoryTable WHERE RFORTerritoryItemTable.RFORTerritory = RFORTerritoryTable.RFORTerritory EXISTS JOIN * FROM RFORGeneralContractTable WHERE RFORProgrammeClassifierTable.RFORGeneralContract = RFORGeneralContractTable.RFORGeneralContract AND RFORProgrammeClassifierTable.SupplAgreement = RFORGeneralContractTable.RFORGeneralContract EXISTS JOIN * FROM RFORProgrammeTable

Тут связь ошибочно идет еще и по полю SupplAgreement - аналитике
(AND RFORProgrammeClassifierTable.SupplAgreement = RFORGeneralContractTable.RFORGeneralContract)
и нет связей по полям RFORProgrammeTable
(EXISTS JOIN * FROM RFORProgrammeTable)

исправленный код, создающий query:
Query query;
QueryRun queryRun;
QueryBuildDataSource qbDS1, qbDS2, qbDS3, qbDS4, qbDS5, qbDS6, qbDS7;
RFORProgrammeClassifierTable rFORProgrammeClassifierTable;
set dims = new set (types::string); // Declare a set of strings
str dimsStr;
int fldId, fldId2;
;

query = new Query();
//Классификатор программ
qbDS1 = query.addDataSource(tableNum(RFORProgrammeClassifierTable));
//Статья затрат
qbDS2 = qbDS1.addDataSource(tableNum(RFORExpenceItemTable));
qbDS2.addLink(fieldNum(RFORProgrammeClassifierTable, RFORExpenceItem), fieldNum(RFORExpenceItemTable, RFORExpenceItem));
qbDS2.joinMode(JoinMode::EXISTSJOIN);
qbDS2.fetchMode(0);
//info(qbDS1.toString());
//Объект
qbDS3 = qbDS1.addDataSource(tableNum(RFORTerritoryItemTable));
qbDS3.addLink(fieldNum(RFORProgrammeClassifierTable, RFORTerritoryItem), fieldNum(RFORTerritoryItemTable, RFORTerritoryItem));
qbDS3.joinMode(JoinMode::EXISTSJOIN);
qbDS3.fetchMode(0);
//info(qbDS1.toString());
//Территория
qbDS5 = qbDS3.addDataSource(tableNum(RFORTerritoryTable));
qbDS5.addLink(fieldNum(RFORTerritoryItemTable, RFORTerritory), fieldNum(RFORTerritoryTable, RFORTerritory));
qbDS5.joinMode(JoinMode::EXISTSJOIN);
qbDS5.fetchMode(0);
//info(qbDS1.toString());
//Ген.договор
qbDS4 = qbDS1.addDataSource(tableNum(RFORGeneralContractTable));
qbDS4.addLink(fieldNum(RFORProgrammeClassifierTable, RFORGeneralContract), fieldNum(RFORGeneralContractTable, RFORGeneralContract));
qbDS4.joinMode(JoinMode::EXISTSJOIN);
qbDS4.fetchMode(0);
//info(qbDS1.toString());
//Программа
qbDS6 = qbDS4.addDataSource(tableNum(RFORProgrammeTable));
qbDS4.addLink(fieldNum(RFORGeneralContractTable, RFORProgramme), fieldNum(RFORProgrammeTable, RFORProgramme));
qbDS6.joinMode(JoinMode::EXISTSJOIN);
qbDS6.fetchMode(0);
info(qbDS1.toString());
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Dynamics AX: QueryRun and Query Objects - Binding operation failed to allocate buffer space Blog bot DAX Blogs 0 03.04.2009 08:05
palleagermark: Sample union query from AX 2009 Blog bot DAX Blogs 0 11.07.2008 20:05
Проблема с Query в AOT radya DAX: Программирование 7 17.10.2007 17:28
Dynamics AX Geek: Using query() Blog bot DAX Blogs 0 28.10.2006 16:40
Проблема с составлением Query axaLearner DAX: Программирование 10 01.12.2005 15:00

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 22:05.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.