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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.02.2006, 11:49   #1  
микас is offline
микас
Участник
 
1 / 10 (1) +
Регистрация: 05.10.2005
Адрес: Вильнюс, Литва
Соединние трех таблиц в 'трехуголник'
Мне нужно соединить три таблицы InventJournalTrans, InventDim, InventBatch.
К InventJournalTrans присоединяю InventDim, к InventDim присоединяю InventBatch.
Но как присоединить к InventJournalTrans InventBatch через ItemId ?

q = this.query();
qBD_InventJournalTrans = q.dataSourceTable(tablenum(InventJournalTrans));

qBD_InventDim = qBD_InventJournalTrans.addDataSource(tablenum(InventDim));
qBD_InventDim.joinMode(JoinMode::InnerJoin);
qBD_InventDim.fetchMode (0);
qBD_InventDim.addLink(fieldnum(InventJournalTrans,InventDimId),fieldnum(InventDim,InventDimId));

qBD_InventBatch = qBD_InventDim.addDataSource(tablenum(InventBatch));
qBD_InventBatch.joinMode(JoinMode::InnerJoin);
qBD_InventBatch.fetchMode (0);
qBD_InventBatch.addLink(fieldnum(InventDim,InventBatchId),fieldnum(InventBatch,InventBatchId));
Старый 10.02.2006, 12:04   #2  
braathe is offline
braathe
Участник
 
90 / 13 (1) ++
Регистрация: 16.02.2005
это тебе надо через InventTable
Миниатюры
Нажмите на изображение для увеличения
Название: inventmodell.jpg
Просмотров: 423
Размер:	22.8 Кб
ID:	1718  
Старый 10.02.2006, 12:09   #3  
Roman777 is offline
Roman777
NavAx
Аватар для Roman777
NavAx Club
 
320 / 64 (3) ++++
Регистрация: 10.02.2005
Адрес: г. Москва
Можно так:
QueryBuildRange qbr_InventBatch;
;
q = this.query();
qBD_InventJournalTrans = q.DataSourceTable(tablenum(InventJournalTrans)

qBD_InventDim = qBD_InventJournalTrans.addDataSource(tablenum(InventDim));
qBD_InventDim.joinMode(JoinMode::InnerJoin);
qBD_InventDim.fetchMode (0);
qBD_InventDim.addLink(fieldnum(InventJournalTrans,InventDimId),fieldnum(InventDim,InventDimId));

qBD_InventBatch = qBD_InventDim.addDataSource(tablenum(InventBatch));
qBD_InventBatch.joinMode(JoinMode::InnerJoin);
qBD_InventBatch.fetchMode (0);
qBD_InventBatch.addLink(fieldnum(InventDim,InventBatchId),fieldnum(InventBatch,InventBatchId));

qbr_InventBatch = qBD_InventBatch.addRange(fieldNum(InventBatch, itemId));

qbr_InventBatch.value(strfmt("(%1) = %2.%3", fieldstr(InventBatch, itemId), qBD_InventJournalTrans.name(), fieldstr(InventJournalTrans, itemId)) );
Старый 10.02.2006, 12:24   #4  
Roman777 is offline
Roman777
NavAx
Аватар для Roman777
NavAx Club
 
320 / 64 (3) ++++
Регистрация: 10.02.2005
Адрес: г. Москва
Да, кстати, скорее всего вместо qBD_InventBatch.fetchMode (0); (один - ко многим)
нужно будет поставить qBD_InventBatch.fetchMode (1); (один - к одному).
Старый 10.02.2006, 12:51   #5  
KMV is offline
KMV
Участник
 
201 / 25 (1) +++
Регистрация: 11.10.2002
Адрес: Москва
Цитата:
Сообщение от Roman777
qbr_InventBatch.value(strfmt("(%1) = %2.%3", fieldstr(InventBatch, itemId), qBD_InventJournalTrans.name(), fieldstr(InventJournalTrans, itemId)) );
Как вариант:

qbr_InventBatch.value(strfmt('%1.%2 = %3.%4', qbr_InventBatch.name(), fieldstr(InventBatch, itemId), qBD_InventJournalTrans.name(), fieldstr(InventJournalTrans, itemId)))
Старый 10.02.2006, 13:31   #6  
Dron AKA andy is offline
Dron AKA andy
Moderator
 
944 / 253 (10) ++++++
Регистрация: 27.03.2002
Адрес: Москва
Цитата:
Сообщение от Roman777
Да, кстати, скорее всего вместо qBD_InventBatch.fetchMode (0); (один - ко многим)
нужно будет поставить qBD_InventBatch.fetchMode (1); (один - к одному).
Ошибочка, 0 это как раз "Один к одному" (см. enum QueryFetchMode), его и нужно оставить.
__________________
Андрей.
Старый 10.02.2006, 13:48   #7  
Roman777 is offline
Roman777
NavAx
Аватар для Roman777
NavAx Club
 
320 / 64 (3) ++++
Регистрация: 10.02.2005
Адрес: г. Москва
Цитата:
Сообщение от Dron AKA andy
Ошибочка, 0 это как раз "Один к одному" (см. enum QueryFetchMode), его и нужно оставить.
дА, согласен
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Пустые названия системных таблиц в report data range (DAX 4.0) Qaz Qwerty DAX: Функционал 3 06.08.2008 00:05
Владельцы таблиц в БД аксапты AxaptaUser DAX: Администрирование 11 23.05.2007 18:33
Query из 7 таблиц Cornflower DAX: Программирование 29 15.03.2007 11:27
Join трех таблиц (две к одной) ATimTim DAX: Программирование 25 03.02.2005 11:31
outer join для трех таблиц r25 DAX: Программирование 4 29.04.2004 15:42
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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