みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
お世話になります。
環境:FM Pro14 Win版64bit
今回は基本的なことをご教示いただきたいと思います。
目的は1回の新規レコード追加と編集時に、複写ボタンを貼りつけ、任意の数だけレコードを作成したいのです。
変数$iを0で初期化し、Loopで例えば5回まわすのですが、最後のフィールドに値を設定した後、
End Loopの前に、「レコード/検索条件確定」を入れるのと入れないのとでは結果は違うでしょうか?
いらなくても動作するように思うのですが。
例:
Loop
変数を設定[$i; $i+1]
新規レコード/検索条件
フィールド設定[(フィールド名1); $値1]
フィールド設定[(フィールド名2); $値2]
・
・
・
レコード/検索条件の確定
Exit Loop If[$max<=$i]
End Loop
この「レコード確定」は、ドキュメントを読むと下記のことが書かれていますが、「レコードを終了します。」の意味がわかりません。(コミット?)
「このスクリプトステップを実行すると、フィールド内のデータを更新した上でフィールドの選択を解除してレコードまたは検索条件を終了します。」
参照:http://www.filemaker.com/help/12/fmp/jp/html/scripts_ref1.36.66.html
今回のケースでは「レコード確定」がいるのかいらないのか、ご教示のほど、よろしくお願いいたします。
Offline
レコード/検索条件確定の英語でのスクリプトステップ名はCommit Records/Requests
レコード/検索条件復帰の英語でのスクリプトステップ名はRevert Record/Request
レコードを終了しますは、レコードを開くOpen Recordの対義語。Open Recordでレコードを掴んでCommitで離すと。
Commitが要るか要らないかはケースバイケースでしょう。その後に続くスクリプトの内容にもよるし、入力値の制限がどうなっているかにもよるし、その設定した値を直ぐに他の値に反映させたいかにもよるし。
Loopの中の
レコード確定
は、次の回の
新規レコード作成
で、前回のレコードは確定されますから意味が無いですね。
ですから、もし必要としても、
End Loop
の直下でいいでしょう。
その必要性ですが、
Loopの中で、
フィールドを選択して終了した場合のみを考えればいいので、
選択していないならば必要性は無いでしょう。
Offline
>ハタさま
>チポさま
お二人とも、ご丁寧な回答ありがとうございました。
すごくすっきりしました。
Offline
ですから、もし必要としても、
End Loop
の直下でいいでしょう。
入力値の制限を無視するようなスクリプトだと、その都度必要じゃないですか?
ハタさんが言われるようにケースバイケースかと思います。
やってみればお分りになりますが、、
新規レコード作成の前に必然的にレコードが確定されますから、
入力値の制限もそのとき働きますよ。
Offline
入力時の制限を無視オプションの存在忘れていませんか?
Loopの中でもレコード確定ステップが必要な時もありますよ。
> 入力時の制限を無視オプション
そんなの無いでしょう。
制限にかかったとき、それを無視して入力・続行はできますが、
必ずアラートはでますよね。
> Loopの中でもレコード確定ステップが必要な時もありますよ
もちろん有りますよ。
しかし、
質問のステップからはその必要性は無いと言っています。
Offline
Pages: 1
[ Generated in 0.008 seconds, 9 queries executed - Memory usage: 555.76 KiB (Peak: 579.37 KiB) ]