Показать сообщение отдельно
  #1  
Старый 22.04.2015, 11:14
Вовайн Вовайн вне форума
Новичок
 
Регистрация: 14.02.2015
Сообщения: 68
Версия Delphi: Delphi EX7 21
Репутация: 10
По умолчанию Проблема с обновлением записи в DBedit

Проблема с обновлением 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
Ответить с цитированием