遅延トランザクション テーブル形式でのレコード登録
いつもお世話になっております。
先日フォーラムで遅延トランザクションが便利だというのを教えて頂き、遅延トランザクションを使ったプログラム開発を行っています。
そこでテーブル形式でレコードを登録・修正するプログラムを作っているのですが、絞り込み後の動作がうまくいきません。
絞り込みについては、「範囲/位置付」→「SQL Where句」→「DB SQL」のところに書き込む形で実装しています。(他にいい方法があればご教授下さい。)
問題となっているのは、検索ワード(変数)を何か入力して、絞り込み実行後(ビュー再表示後)、条件に当てはまるレコードが1件もない場合に、コード(キー/数値)が0のレコードが登録されてしまい、インデックス重複エラーが出てしまうことです。
メインソースのデータをテーブルに表示、変数による絞り込みなどが行えるようにし、新規登録・修正を行うという場合、一般的にどのような構造で作られているのでしょうか。
よろしくお願いいたします。
Magic xpa 4.8
-
KMさん、
たぶんですが、その動きは遅延トランザクションが原因だからという問題でもなさそうですよ。プログラムの作りの問題のような気がします。
登録モードで空のレコードの編集に入ったときに、何もしていなくても、何らかの設定でレコード後処理を通過するような動きになってしまっているような気がします。
その辺りの作りを見直されるといいと思います。
-
Tandaさん
ご回答いただいていたにも関わらず返信しておりませんでした。申し訳ございません。
当時は切羽詰まっており、結局遅延から物理で今までの方法に逃げてしまいました。
また時間ができたらチャレンジしたいと思います。
-
KMさん、
遅延トランザクションから物理トランザクションへの移行となりますと、時代を逆行してしまいますので、ぜひ遅延トランザクションでのコツを掴んでいただければと思いますよ。遅延トランザクションは思った通りに動くと、涙がでるほど感動しますよ。
ちなみに、遅延トランザクションはイスラエルのマジック社が全精力を注いで開発した機能です。これに対して、物理トランザクションはDBに最初から付いている、ごくありふれたトランザクションです。
サインインしてコメントを残してください。
コメント
3件のコメント