Описание LoockUp Button

Обсуждение MAV Direct ODBC

Модератор: Andrew™

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion и MAV который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Денис
Бывалый
Сообщения: 70
Зарегистрирован: 07 Июль 2005, 5:39
Откуда: Хабаровск
Контактная информация:

Описание LoockUp Button

Сообщение Денис »

Здравствуй Андрей.
Поясни пожалуйста работу условий "Selected record", "Constraint record" и "Addititional constraint". Что нужно сделать чтоб вызываемый справочник фильтровался по нескольким полям.
Аватара пользователя
Andrew™
SQL профи
Сообщения: 651
Зарегистрирован: 05 Июль 2005, 16:32
Откуда: Москва, Зеленоград

Re: Описание LoockUp Button

Сообщение Andrew™ »

Денис писал(а):Здравствуй Андрей.
Поясни пожалуйста работу условий "Selected record", "Constraint record" и "Addititional constraint". Что нужно сделать чтоб вызываемый справочник фильтровался по нескольким полям.
Selected record - условие поиска по введённому значению.
Например есть справочник контрагентов, ищем по ИНН

Constraint record - условие подкачки записи из справочника.
На примере тех же контрагентов, ищем по INN, а инициализируем поле File.ContragentRef = Contragent.Ref

Addititional constraint - дополнительное условие фильтрации для двух вышеперечисленных случаев

необходимо в основном если в одной таблице есть несколько справочников, Клиенты, Заказчики, Поставщики

три лукапа, каждый работает со своим из трёх справочников, натравлены все лукапы на одну таблицу, но у всех разный Addititional constraint

Contragent.Type = 1
Contragent.Type = 2
Contragent.Type = 3
Денис
Бывалый
Сообщения: 70
Зарегистрирован: 07 Июль 2005, 5:39
Откуда: Хабаровск
Контактная информация:

Сообщение Денис »

Использую лукап по полям из 2 таблиц, справочник улиц (1) и справочник районов (2). При бодавлении новой записи в таблицу (3) у меня есть, так сказать предустановленный район, при вызове справочника улиц там ставится фильтр, чтоб отобрать улицы этого района, но при выборе другого района и улицы из него происходит следующее:

Код: Выделить всё

Error    : [209] [Microsoft][ODBC SQL Server Driver][SQL Server]Ambiguous column name 'Name'. (42000)
           SQL Statement -
           Binding field 1 A."Name"     = Мирная ул.
           Binding field 2 B."Name"     = п. Галкино
           SELECT A."Name",A."RegionID",A."StreetID" FROM NK_Streets A,NK_Regions B WHERE "Name"=? AND B."Name"=?
в выражении Where первое поле Name без указателя из какой базы его брать
Аватара пользователя
Andrew™
SQL профи
Сообщения: 651
Зарегистрирован: 05 Июль 2005, 16:32
Откуда: Москва, Зеленоград

Сообщение Andrew™ »

Денис писал(а):Использую лукап по полям из 2 таблиц, справочник улиц (1) и справочник районов (2). При бодавлении новой записи в таблицу (3) у меня есть, так сказать предустановленный район, при вызове справочника улиц там ставится фильтр, чтоб отобрать улицы этого района, но при выборе другого района и улицы из него происходит следующее:

Код: Выделить всё

Error    : [209] [Microsoft][ODBC SQL Server Driver][SQL Server]Ambiguous column name 'Name'. (42000)
           SQL Statement -
           Binding field 1 A."Name"     = Мирная ул.
           Binding field 2 B."Name"     = п. Галкино
           SELECT A."Name",A."RegionID",A."StreetID" FROM NK_Streets A,NK_Regions B WHERE "Name"=? AND B."Name"=?
в выражении Where первое поле Name без указателя из какой базы его брать
поля не лукап файлов скорее всего вставил в Selected record, тут надо смотреть на живом примере
Денис
Бывалый
Сообщения: 70
Зарегистрирован: 07 Июль 2005, 5:39
Откуда: Хабаровск
Контактная информация:

Сообщение Денис »

В Selected record 2 записи.

1) :
File field: SQL_Streets:Name (поле из справочника)
Range limit value: QClaim:Street (поле редактируемой очереди)

2) :
File field: SQL_Regions:Name (поле из второго справочника)
Range limit value: QClaim:Name (поле редактируемой очереди)

В Constraint record тоже 2 записи, только там участвуют ID поля из тех жесправочников и очереди
Аватара пользователя
Andrew™
SQL профи
Сообщения: 651
Зарегистрирован: 05 Июль 2005, 16:32
Откуда: Москва, Зеленоград

Сообщение Andrew™ »

Денис писал(а):В Selected record 2 записи.

1) :
File field: SQL_Streets:Name (поле из справочника)
Range limit value: QClaim:Street (поле редактируемой очереди)

2) :
File field: SQL_Regions:Name (поле из второго справочника)
Range limit value: QClaim:Name (поле редактируемой очереди)

В Constraint record тоже 2 записи, только там участвуют ID поля из тех жесправочников и очереди
ты мне лучше *_MAV.INC приложения пришли и CLW этой процедуры
Ответить