直面した問題
- スクリプトのループの中でレコードを何十行と挿入していた。
- 最終行だけ追加されていない場合があった。
- その行はもちろんレイアウトで表示することもできなかった。
- まれに最終行が挿入され、表示されたこともあった。
ポイント
- スクリプトでレコードの挿入・更新・削除するときは、その後に「レコード/検索条件確定」を明示的に実行すること
- 「レコード/検索条件確定」はコミット
わかっていないこと
- Loop の中で毎回「レコード/検索条件確定」したほうが良いのか、Loop の外で 1 回だけ「レコード/検索条件確定」してもよいのか、どちらがベターなのか不明
問題を解決できた FileMaker スクリプトコードの概要・例
レイアウト切り替え [「XXXXX」(XXXXX)] Loop 新規レコード/検索条件 フィールド設定 [XXXXX; "設定値"] レコード/検索条件確定 [入力値の制限を無視; ダイアログなし] End Loop
今までは、最後の「レコード/検索条件確定」が無いために最終行は表示されないと言う問題が起きていました。
この問題が解消されました♪
おわりに
今回の問題は、挿入時に発生しました。
ですけれども、更新、削除の時も今回の対処を行ったほうが良いそうです。
大規模なシステム、長いスクリプトでは今回の問題の原因を特定するのはかなり難しいと存じます。
日頃から明示的に「レコード/検索条件確定」をした方がよいですわね♪
以上です。