Ошибка использования LookupField, когда KeyFields имеют более одного поля
Ошибка использования DBGrid с LookupField, когда KeyFields и LookupKeyFields имеют более одного поля.
У меня есть две таблицы TTable (таблица 1 и таблица 2) в форме (форма Y).
- В Таблице 1 находятся поля: FieldA, FieldB и LookupFieldF.
- В Таблице 2 находятся поля: FieldD, FieldE и FieldF.
LookupFieldF в таблице 1 я создал с:
- FieldKind = fkLookup,
- FieldName = LookupFieldF,
- KeyFields = FieldA;FieldB (**)
- LookupDataSet = Table2;
- LookupKeyFields = FieldD; поля Е;
- LookupResultField = FieldF;
- Имя = Table1LookupFieldF.
(**) Существуют в таблице, являются постоянными полями, и каждое имя поля разделяется точкой с запятой.
Когда я изменяю Table1.Active for, я получаю сообщение: DBERROR 'FieldA;FieldB' not found.
Что случилось? (Я использую RAD XE 2).
1 ответ
Разве вы не определяете "FieldA;FieldB" как FieldName некоторого столбца DBGrid? Так как DBGrid выдает ошибку, возможно, на ней имеется некоторая неправильная конфигурация.
Не могли бы вы показать нам свой код.DFM для DBGrid (просто скопируйте DBGrid и вставьте его здесь)?