みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
初めてこの欄でお世話になります
Loop関数の使い方は解っているつもりです。それを何処から初めて何処で終わらせるをどうしたらよいか解りません。使っているファイルには連番を打ってまして、<Exit Loop If> 行の後にLoopを止める連番を指定したら止まりますが、開始する連番を指定しても、ポインターのある(選択されている)連番から開始されます。始める連番を終わる連番と同じように指定しても役に立ちません。また連番はそのレコードが最初から初めて何番目のレコードであるかということを意味していません。レコード数は7000とすると、最終レコードの連番は7500くらいになっています。これは不要になったレコードを削除することなどによって、よく起こることです。ではあるレコードの絶対順位を指定するには、どうするかということになるのでしょうか?
Offline
スクリプトステップ
レコードへ移動
のオプションでレコード番号を指定できます。
> Loop関数
とは言いませんよ、
スクリプトステップですね。
Offline
Exit Loop If というから、関数ではなくスクリプトの話ですね。
開始する連番を指定しても、
Loopステップには何も指定できませんが、どこに指定しているんでしょうか。
「絶対順位」が何を意味するのかわかりませんが、対象レコードの順番ではGet(レコード番号)です。Loopで回すならこれでしょう。
検索やソートと関係なくレコードそのものを指定するならGet(レコードID)です。
Loop の中でしぼるより、別ウィンドウを開いて対象レコードを絞り込んでから、loop で各レコードの処理を行った方が早い気がしますが。
Offline
”Loop関数”はお恥ずかしい次第です。Loop中でレコード/検索条件/ページへ移動[次の]に続いてExit Loop If 行では計算式が求められます。そこに Exit Loop If[連番 = 終連番] と式を作ります。連番は1ではじまり、レコードを作る時に自動的に与えられる整数です。目的の連番でLoopを止めようと、終連番 というフィールドを作り数値、グローバルとします。この終連番に整数の値を入れ、スクリプトを働かせるとその連番のレコードでLoopが止まります。しかし開始レコードではそうは行かず、偶々ポインターで選択されていたレコードから始まります。Get(レコード番号)、Get(レコードID)、Get(アクティヴフィールド内容)など試してみましたが、上手く行きません。
直接の回答ではありませんが、
処理したいレコードを検索して対象レコードに対してLoop処理を行うのが良いかと。
レコード/検索条件/ページへ移動 [ 最初の ]
Loop
#何かしらの処理
レコード/検索条件/ページへ移動 [ 次の; 最後まできたら終了 ]
End Loop
Offline
Shinさんとqb_dpさんのアイデアは良さそうです。試してみます。みなさん、有り難うございました。
Pages: 1
[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 564.75 KiB (Peak: 589.91 KiB) ]