Показать сообщение отдельно
  #4  
Старый 30.09.2010, 00:21
Аватар для Uniq!
Uniq! Uniq! вне форума
Местный
 
Регистрация: 29.09.2010
Сообщения: 539
Версия Delphi: Delphi XE3
Репутация: 374
По умолчанию

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ая таблица ... то закрепляем изменения во второй
Ответить с цитированием