Текущий архив: 2003.02.06;
Скачать: CL | DM;
ВнизЭтот загадочный DBGrid... Найти похожие ветки
← →
skirdov (2003-01-21 19:27) [0]Добрый вечер, мастерам.
Нужна помошь. Дело в следующем. Имеется DBGrid, одно из полей которого должно выбираться из справочника. Я делаю это так:
1. with Query2 do begin
2. SQL.Clear;
3. SQL.ADD ("select LINK, NAME from PEOPLE");
4. Open;
5. end;
6. with DBGrid do begin
7. DataSource := DataSource3;
8. DataSource3.DataSet := Table2;
9. Columns [2].Field.FieldName := "NAME";
10. Columns [2].Field.KeyFields := "ID;NAME";
11. Columns [2].Field.LookupDataSet := Query2;
12. Columns [2].Field.LookUpKeyFields := "LINK;NAME";
13. Columns [2].Field.FieldKind := fkLookUp;
14. Columns [2].Field.Lookup := True;
15. end;
Т.е. полe ID и NAME таблиыц Table2 нужно заполнить значениями из справочника LINK и NAME. Но на строке 10 выходит сообщение с ошибкой: "Table2: Cannot perform this operation on an open dataset."
Что я делаю не так?. Спасибо.
← →
gsu (2003-01-21 19:34) [1]Table2 закрой
← →
MsGuns (2003-01-21 19:43) [2]Привязка полей выполняется преимущественно в дизайне, а если хо в ране, так делфй как говорит gsu. А вообще-то, ИМХО, на лицо неопределенка с топологией БД.
← →
skirdov (2003-01-21 21:11) [3]Дв закрывал я Table2, не помогает. Вылезает другая ошибка "List index out of bounds (2)", что вполне логично. А в дизайне привязку полей сделать нет возможности, т.к. заранее неизвестно, кокие поля будут в DBGrid (такая постановка задачи). Есть еще варианты?
← →
skirdov (2003-01-21 21:12) [4]Прошу прощения, ошибка выходит на 9 строке... :)
Страницы: 1 вся ветка
Текущий архив: 2003.02.06;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.01 c