Форум: "Базы";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];
ВнизКак в реальном времени добавить поля в таблицу? Найти похожие ветки
← →
ZHK (2004-08-02 16:39) [0]Здравствуйте, господа. Чет я совсем плохой стал, видимо. Есть два DBGrid В каждом - открытая таблица. В первом я ввожу сисок полей второго. Естественно, что при добавлении записи в первый, она сразу же должна отображаться как поле во втором. Навертел чет несуразное, вот такое:
procedure TForm2.Table1BeforeInsert(DataSet: TDataSet);
var
I,J:Integer;
P:Pointer;
begin
if NGoing then Exit;
Table1.DisableControls;
NGoing:=True;
try
P:=Table1.GetBookmark;
Table1.First;
Table2.Edit;
I:=1;
while not Table1.Eof do
begin
if Table1.FieldByName("Size").AsInteger>0 then
begin
if Table2.FieldCount<=I then
Table2.FieldDefs.Add(Table1.FieldByName("Name").AsString,ftString,Table1.FieldByName("Size").AsInteger)
else
begin
Table2.Fields[I].FieldName:=Table1.FieldByName("Name").AsString;
Table2.Fields[I].Size:=Table1.FieldByName("Size").AsInteger;
end;
I:=I+1;
end;
Table1.Next;
end;
Table2.UpdateRecord;
while Table2.FieldCount>I do
Table2.FieldDefs.Delete(Table2.FieldCount-1);
Table1.GotoBookmark(P);
finally
Table1.EnableControls;
NGoing:=False;
end;
end;
Естественно, что ничего не добавляется. Добейте утопающего. :-)
← →
ZHK (2004-08-02 16:41) [1]Ну, правда с
Table2.UpdateRecord;
Я загнул наверное. Я ж записей-то не добавляю... В общем выкинул я ее, тем более, что ошибку выдает. :-)
← →
Соловьев © (2004-08-02 17:17) [2]
> Есть два DBGrid В каждом - открытая таблица. В первом я
> ввожу сисок полей второго. Естественно, что при добавлении
> записи в первый, она сразу же должна отображаться как поле
> во втором. Навертел чет несуразное, вот такое:
навртел не то слово... Зачем тебе БДГрид для отображения полей? И как это при добавлении записи, она(!!!) должна быть полем во втором гриде? Или это ты переворачиваешь данные?
http://www.delphikingdom.com/treasury/nxdbgrid.htm
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.08.29;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.046 c