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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.08.2010, 23:06   #1  
Blog bot is offline
Blog bot
Участник
 
25,617 / 848 (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, напишите личное сообщение администратору.
Старый 29.08.2010, 13:35   #2  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Мне кажется, кроме fed'а мало кто тут силен в турецком Даже google translate не дает понять, в чем смысл: в том, что из-за join'а lookup валится с ошибкой? Может, просто нужно extended range нормально задать вот здесь?
X++:
qdbs.addRange(fieldnum(BankTransType,ExchangeNoteDocType)).value(
    strFmt(' ((ExchangeNoteDocType <> %1) OR (ExchangeNoteDocType <> "%2?))', 
            any2int( ExchangeNoteDocType::Cheque),any2int(ExchangeNoteDocType::PromissoryNotes )));
За это сообщение автора поблагодарили: mazzy (2).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Двойной 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, время: 08:19.