Ошибка использования 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 и вставьте его здесь)?

Другие вопросы по тегам