Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Delhpi: связанные таблицы


Автор: И Л И 13.10.2004, 11:32
Есть 2 таблицы: первая содержит фио, код должности. Вторая код должности, должность. Таблицы связаны по полям код должности (Table2.MasterSource:=DataSource1 и указан MasterFields). Combobox должен содержать все должности второй таблицы. Я делаю так:
Код
procedure TForm2.FormCreate(Sender: TObject);
begin
with Table2 do
begin
  First;
  while not Eof do
     begin
        Combobox1.Items.Add(FieldbyName ('Dolzhnost').Asstring);
        next;
     end;
end;
end;


Выдает только первую должность. Что не так?

Автор: Pakshin A. S. 13.10.2004, 19:14
Сделай DBGrid, подключи его к Table и запусти его. Вся ли таблица вывелась?

Автор: И Л И 14.10.2004, 05:02
Помимо имеющихся полей Table1 создал новое поле, указал имена связующих полей(код должности), результирующее поле (должность). В DBGrid вывелось все, как надо...

Автор: innok 14.10.2004, 07:11
Цитата

with Table2 do
begin
First;

а если вынести First до with table2 wink.gif

Автор: И Л И 14.10.2004, 09:14
Цитата(innok @ 14.10.2004, 07:11)
а если вынести First до with table2

А смысл?

Автор: x77 14.10.2004, 12:26
не так то, что при установке MasterSource таблица фильтруется по ключевому полю. назначай связи программно, например, при создании модуля данных и после открытия таблицы, и там же заполняй нужный тебе комбо до того, как будет установлен MasterSource.

Автор: И Л И 14.10.2004, 13:24
x77
Спасибо, работает. biggrin.gif

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)