01.08.2014, 10:55 | #1 |
Участник
|
Lookup, фильтр по значению метода выбираемой таблицы
Всем добрый день.
MS DAX 2009. Прошу совета вот в каком вопросе. Есть форма "Форма1". На ней Grid, в Grid есть поля "Код точки доставки" и "Маршрут торгового представителя". К таблице "Маршруты торговых представителей" привязана таблица "Строки маршрутов" в которой одно из полей "Код точки доставки". Можно ли сделать так что бы при заполнении поля "Код точки доставки" на форме "Форма1" в lookup по "Маршрут торгового представителя" выпадали только те маршруты в которых есть указанный "Код точки доставки"? На таблице "Маршруты торговых представителей" написал булевый метод который проверяет наличие точки в маршруте. Можно ли наложить в lookup range на значение этого метода? Или можно сделать как-то по другому? |
|
01.08.2014, 11:42 | #2 |
Участник
|
Лукап можно строить и по связанным таблицам
X++: Query query = new Query(); QueryBuildDataSource queryBuildDataSource,queryBuildDataSource2; QueryBuildRange queryBuildRange,queryBuildRange2; SysTableLookup sysTableLookup; ; //Create an instance of SysTableLookup with the form control passed in sysTableLookup = SysTableLookup::newParameters(tablenum(1), this); //create the query datasource queryBuildDataSource = query.addDataSource(tablenum(1)); queryBuildRange = queryBuildDataSource.addRange(fieldnum(1, 1)); queryBuildRange.value('Value1'); queryBuildDataSource2 = queryBuildDataSource.addDataSource(tablenum(2)); queryBuildDataSource2.joinMode(JoinMode::InnerJoin); queryBuildDataSource2.relations(true); queryBuildDataSource2.addLink(fieldnum(1, 1), fieldnum(2, 1)); queryBuildRange2 = queryBuildDataSource.addRange(fieldnum(2, 2)); queryBuildRange2.value('Value2'); //Add the fields to be shown in the lookup form sysTableLookup.addLookupfield(fieldnum(1, 1)); //add the query to the lookup form sysTableLookup.parmQuery(query); // Perform lookup sysTableLookup.performFormLookup();
__________________
-Ты в гномиков веришь? -Нет. -А они в тебя верят, смотри, не подведи их. Последний раз редактировалось Pustik; 01.08.2014 в 11:55. |
|
01.08.2014, 12:04 | #3 |
Участник
|
пример хороший, спасибо.
Но мне нужно range наложить не на field, а на метод можно написать что-то на подобии? X++: queryBuildRange.value(1.1() == true); |
|
01.08.2014, 12:08 | #4 |
Участник
|
Цитата:
Цитата:
|
|
01.08.2014, 12:22 | #5 |
Участник
|
__________________
-Ты в гномиков веришь? -Нет. -А они в тебя верят, смотри, не подведи их. Последний раз редактировалось Pustik; 01.08.2014 в 12:28. |
|
|
За это сообщение автора поблагодарили: smailik (1). |