Проблема с обновлением DBEdit из таблицы.
При редактировании записи открывается форма в которую подстраиваются необходимые данные из таблицы и label.
При нажатии на одну из таблиц прописывается каждый раз что именно отображать. При открытии одной таблицы проблем не возникает, но при открытии другой таблицы он ищет данные из предыдущей, как будто не успевает обновлять, только первое нормально обновляет, но если открывать каждый раз эту таблицу ошибки проходят поочередно и после всех полей из предыдущей таблицы он нормально её открывает.
Код:
procedure TForm1.A2Click(Sender: TObject);
begin
Form70.Show;
Form70.DBGrid1.DataSource:= DataModule1.Dform30;
form70.DBImage1.DataSource:=datamodule1.Dform30;
form70.dbgrid1.Columns[0].Width:=30;
form70.DBGrid1.Columns[1].Width:=500;
form70.dbgrid1.Columns[2].Width:=50;
form70.dbgrid1.Columns[3].Width:=100;
form70.dbgrid1.Columns[4].Width:=50;
form70.dbgrid1.Columns[5].Width:=50;
form70.dbgrid1.Columns[6].Width:=50;
form70.dbgrid1.Columns[7].Width:=50;
form70.dbgrid1.Columns[10].Width:=30;
form70.Caption:='Процессоры AMD';
form71.Label2.Caption:='Наименование';
form71.Label3.Caption:='Ядро';
form71.Label4.Caption:='Частота процессора';
form71.Label5.Caption:='Сокет';
form71.Label6.Caption:='Объем кэша L2';
form71.Label7.Caption:='Тип поставки';
form71.Label1.Caption:='Количество ядер';
form71.Label8.Caption:='Количество';
form71.Label9.Caption:='Цена';
form71.DBEdit2.DataSource:=form70.DBGrid1.DataSource;
form71.DBEdit2.DataField:= form70.DBGrid1.DataSource.DataSet.Fields[1].FullName;
form71.DBEdit3.DataSource:=form70.DBGrid1.DataSource;
form71.DBEdit3.DataField:= form70.DBGrid1.DataSource.DataSet.Fields[2].FullName;
form71.DBEdit4.DataSource:=form70.DBGrid1.DataSource;
form71.DBEdit4.DataField:= form70.DBGrid1.DataSource.DataSet.Fields[3].FullName;
form71.DBEdit5.DataSource:=form70.DBGrid1.DataSource;
form71.DBEdit5.DataField:= form70.DBGrid1.DataSource.DataSet.Fields[4].FullName;
form71.DBEdit6.DataSource:=form70.DBGrid1.DataSource;
form71.DBEdit6.DataField:= form70.DBGrid1.DataSource.DataSet.Fields[5].FullName;
form71.DBEdit7.DataSource:=form70.DBGrid1.DataSource;
form71.DBEdit7.DataField:= form70.DBGrid1.DataSource.DataSet.Fields[6].FullName;
form71.DBEdit1.DataSource:=form70.DBGrid1.DataSource;
form71.DBEdit1.DataField:= form70.DBGrid1.DataSource.DataSet.Fields[7].FullName;
form71.DBEdit8.DataSource:=form70.DBGrid1.DataSource;
form71.DBEdit8.DataField:= form70.DBGrid1.DataSource.DataSet.Fields[9].FullName;
form71.DBEdit9.DataSource:=form70.DBGrid1.DataSource;
form71.DBEdit9.DataField:= form70.DBGrid1.DataSource.DataSet.Fields[10].FullName;
Form71.Dbedit10.Visible:=false;
Form71.Dbedit11.Visible:=false;
Form71.Label10.Visible:=false;
Form71.Label11.Visible:=false;
Form70.DBGrid1.DataSource.DataSet.Fields[8].Visible:=false; //видимость столбца
end;
2 таблица:
Код:
procedure TForm1.N3Click(Sender: TObject);
begin
Form70.DBGrid1.DataSource:= DataModule1.DTform16;
form70.DBImage1.DataSource:=datamodule1.DTform16;
form70.Caption:='Материнская плата ASUS ';
form71.Label2.Caption:='Наименование';
form71.Label3.Caption:='Форм фактор';
form71.Label4.Caption:='Сокет';
form71.Label5.Caption:='Тип памяти';
form71.Label6.Caption:='Чипсет';
form71.Label7.Caption:='Количество';
form71.Label1.Caption:='Цена';
form71.DBEdit2.DataSource:=form70.DBGrid1.DataSource;
form71.DBEdit2.DataField:= form70.DBGrid1.DataSource.DataSet.Fields[1].FullName;
form71.DBEdit3.DataSource:=form70.DBGrid1.DataSource;
form71.DBEdit3.DataField:= form70.DBGrid1.DataSource.DataSet.Fields[2].FullName;
form71.DBEdit4.DataSource:=form70.DBGrid1.DataSource;
form71.DBEdit4.DataField:= form70.DBGrid1.DataSource.DataSet.Fields[3].FullName;
form71.DBEdit5.DataSource:=form70.DBGrid1.DataSource;
form71.DBEdit5.DataField:= form70.DBGrid1.DataSource.DataSet.Fields[4].FullName;
form71.DBEdit6.DataSource:=form70.DBGrid1.DataSource;
form71.DBEdit6.DataField:= form70.DBGrid1.DataSource.DataSet.Fields[5].FullName;
form71.DBEdit7.DataSource:=form70.DBGrid1.DataSource;
form71.DBEdit7.DataField:= form70.DBGrid1.DataSource.DataSet.Fields[6].FullName;
form71.DBEdit1.DataSource:=form70.DBGrid1.DataSource;
form71.DBEdit1.DataField:= form70.DBGrid1.DataSource.DataSet.Fields[7].FullName;
Form71.Label8.Visible:=false;
Form71.Label9.Visible:=false;
Form71.Label10.Visible:=false;
Form71.Dbedit8.Visible:=false;
Form71.Dbedit9.Visible:=false;
Form71.Dbedit10.Visible:=false;
Form70.Show;
end;
Исходник:
https://yadi.sk/d/vf36mtmNg9vXv