通常、画面入力・表示用に メインで Table1を使っており
Table2は内部の更新処理に使っていますが、新規レコードが
うまく反映されなくて困っています。
これらを下記のような流れで使っていますが、(1)新規書込みと
(2)既存レコード変更の処理をした時に、(2)既存レコード変更分は残りますが、
(1)新規書込み分が一見残るのですが、画面を閉じて再度開いた時には消えています。
新規レコードが処理されてないようです。
色々と試して見ましたが、どうにも原因が掴めません。
どなたかご存知の方がいらっしゃいましたらよろしくお願いします。
環境は Delphi5/BDE(Paradox)です
//--- 処理の流れ -----------------------------
// 利用コンポーネント
// Table1 / DataSource1 // メイン
// Table2 / DataSource2 // 処理用
Table1.Close; // メインを閉じる
Table2.Close;
Table2.Open;
with DataSource2.DataSet do begin
// (1)新規書込み
append;
FieldByName('TestField').AsString := 'NewData';
post;
// (2)既存レコード変更
Recno := 2; // 既存のレコード
edit;
FieldByName('TestField').AsString := 'OldData';
post;
end;
Table2.Close;
Table1.Open; // メインを再開
//-------------------------------------------
再度確認しましたら、データは残っていて表示されました。
どうも、メイン側の表示がうまくいっていなかったようです。
今のままで基本的には問題ありませんでした。
お騒がせしました。 m(__)m
ツイート | ![]() |