(解決済)削除したレコードのリンクについて
お世話になっております。
データ名: data_test
カラム 1 :KEY(キー項目)
カラム 2 :NAME
があり、
KEYと同じ型の変数V_KEYを定義し、フォーム上に配置しています。
位置づけの最大と最小をV_KEYにして定義したdata_testのリンクがあり、
リンク内のカラム(仮にLINK_NAME)もフォーム上に配置しています。
V_KEYに入力したキーに応じてLINK_NAMEも変更されるのですが、タスク上でレコードを削除した後も、そのレコードのキーをV_KEYに入力すると、LINK_NAMEが表示されてしまいます。
例)
レコード
KEY:2
NAME:APPLE
があり、このレコードを削除した後に、V_KEYに2を入力すると、LINK_NAMEにAPPLEが表示されています。
削除したレコードにリンクした項目は表示されないようにしたいのですが、どうしたらよいでしょうか?また、リンク処理について私が理解できていなさそうな部分があればご説明願えますでしょうか。
わかりにくい文章で申し訳ありません。よろしくお願いいたします。
-
こんにちはPuです。
DBが何か分からないので想像でしか書きませんが
まだdeleteがcommitされてないのではないでしょうか
(まだトランザクション内であるとか)
でわ~でわ~ -
コメントありがとうございます。
親タスクがメインソース:なしの上記プログラムで、サブタスクがメインソース:data_testでフォーム上にテーブルを配置していて、親タスクのサブフォームでそのサブタスクを表示しています。
サブタスクのテーブル上でレコードの追加・削除をしているのですが、
親タスクのメインソースが無くてレコード書き込みが行われないのが原因でしょうか。
-
KMさん、
レコードを削除する前のキャッシュがそのまま表示されているのだと思いますよ。どこかのタイミングで「ビュー再表示」を掛けてやれば、最新のデータに置き換わるはずです。
-
よろしければ、私の連載の下記の記事もご参照ください。
第157回 画面再表示とビュー再表示の違い(2021年3月31日)
-
コメントありがとうございます。
ビュー再表示でうまくいきました。
レコード削除が完了していないのではなくキャッシュが残っていたのですね。勉強になりました。ありがとうございました。
-
KMさん、
うまくいってよかったですね。
キャッシュが残存する期間とか、それが更新されるタイミングとかは、トランザクションの学習と合わせて検証されるといいですよ。
Magicのキャッシュはまさに、トランザクションキャッシュそのものです。
詳しくは、マジック社の「RIAトレーニング3日間」で解説しています。
サインインしてコメントを残してください。
コメント
6件のコメント