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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.08.2010, 23:06   #1  
Blog bot is offline
Blog bot
Участник
 
25,538 / 847 (80) +++++++
Регистрация: 28.10.2006
fatihdemirci: Lookup’ta join ile query yazmak
Источник: http://www.fatihdemirci.net/index.ph...-query-yazmak/
==============

Merhaba Axapta  formlarında bir alanın lookup metodunu ezmek zorunda kalabilirsiniz. Örneğimizde bir lookup metedu var.  join ile query yazılıp kriter veriliyor.

X++:
static client void lookupPortfolioPromissory(FormStringControl _ctrl, CurrencyCode _filterStr)// para birimine göre farklı gelsin
{
    SysTableLookup          sysTableLookup = SysTableLookup::newParameters(tablenum(BankAccountTable),_ctrl);
    Query                   query = new Query();
    QueryBuildDataSource    queryBuildDataSource = query.addDataSource(tablenum(BankAccountTable)); // birinci tablomuz
    QueryBuildDataSource    qdbs;
    ;

    sysTableLookup.addLookupfield(fieldnum(BankAccountTable,AccountId));  / lookup ta necek alanlar
    sysTableLookup.addLookupfield(fieldnum(BankAccountTable,Name));
    qdbs  = queryBuildDataSource.addDataSource(tablenum(BankTransType)); // join edilecek tablomuz
    qdbs.addLink(fieldnum(BankAccountTable , AssignedBankTransType ),fieldnum(BankTransType , BankTransType ));  // burası aslında inner joini otomatik yapar
    qdbs.joinMode(joinmode::InnerJoin);  // burda farklı join tiplerini secebileceğinizi göstermek için yazdım

// strfmt ile  query ye range vermek ile ilgili bir çok örnek mevcut burda enumda bulunan iki değerin dışında kalanlar gelsin demek istiyoruz

//dikkat edilmesi gereken bir kaç husus var  mesela Sql tek “=” karakteri kullanır eşit değil  için “<>” 

//  ve bunun gibi farkları gözönünde bulundurun yoksa bu kod niye çalışmıyor diye tırmalar durusunuz benim gibi
   

 qdbs.addRange(fieldnum(BankTransType,ExchangeNoteDocType)).value(strFmt( ((ExchangeNoteDocType <> %1) OR (ExchangeNoteDocType <> %)),
                                                       any2int( ExchangeNoteDocType::Cheque),any2int(ExchangeNoteDocType::PromissoryNotes )));

    queryBuildDataSource.addRange(fieldnum(BankAccountTable,CurrencyCode)).value(_filterStr);  // gönderilen para birimine göre kriter ekliyoruz

    sysTableLookup.parmQuery(query);
    sysTableLookup.performFormLookup();
}
Tabiki bu metodu tabloya yazdım formun ilgili alanının lookup metodunu ezip bu metodu çağırmanız gerek.

Selamlar.

Источник: http://www.fatihdemirci.net/index.ph...-query-yazmak/
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Двойной Outer Join в Query LTA DAX: Программирование 2 21.01.2020 09:28
fatihdemirci: CrossCopmany ile query yazmak Blog bot DAX Blogs 0 17.08.2010 16:05
Query на Datasource в LookUp-форме. dynamax DAX: Программирование 26 09.10.2009 15:58
Глюки в Query с разными типами Join (в т.ч. NonExistsJoin) к одной таблице gl00mie DAX: Программирование 10 14.02.2007 13:22
Вопрос по query и join tischenko DAX: Программирование 2 20.07.2005 13:05

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

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

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