![]() |
|
|
#4
|
||||
|
||||
|
append - открыть только для чтения
edit - для редактирования insert - для вставки Хоть и новенький, но что-то я знаю. В вашем коде append - надо убрать. Вы два раза открываете в разных режимах. Насколько я понял вам надо таблицы "заполнить" из некоторых Edit/DBEdit компонентов. Блок для вставки такой: Код:
ADOTable1.Insert; // открыть для вставки
ADOTable21.FieldByName('название поля 1').asstring:=edit1.text; // вставляемое поле 1
ADOTable21.FieldByName('название поля 2').asstring:=edit2.text; // вставляемое поле 2
ADOTable21.Post; // закрепить изменения
ADOTable1.Edit; // открыть для редактирования
ADOTable21.FieldByName('название поля 1').asstring:=edit1.text; // редактируемое поле 1
ADOTable21.FieldByName('название поля 2').asstring:=edit2.text; // редактируемое поле 2
ADOTable21.Post; // закрепить измененияВ первом случае, если вы не укажете 3 4 и т.д. поля, то они заполняться "типизированной пустотой". Т.е. если поле 3 типа string туда попадёт '' а поле 4 типа integer туда попадёт nil Во втром случае, в ВЫБРАННОЙ записи будут измененны поля 1 и 2 на соответствующую инфу из edit1 и edit2/ Итог: на выходе из первой процедуру получаем новую запись. на выходе из второй процедуры получаем модифицированную запись. условие перечитайте ![]() Код:
if frmdolzhniki.ADOTable1.Modified then frmdolzhniki.ADOTable1.post; if frmdolzhniki.ADOTable1.Modified then frmdolzhniki.ADOTable2.post; Если модернизируется 1ая таблица ... то закрепляем изменения в первой Если модернизируется 1ая таблица ... то закрепляем изменения во второй Последний раз редактировалось Uniq!, 30.09.2010 в 00:35. |