みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
ファイルメーカーを初めて2週間程度の超初心者です。
タイトルに書きましたように、指定した数の新規レコードを予め作るということをしたいと思っています。
試しに自分でスクリプトを作ってみたのですが、無限ループに入ってしまうようで思ったように動いてくれません。
以下のようなものを作ったのですが、間違っているところを教えていただけないでしょうか?
ーーーーー
変数を設定 [$入力データ数]
変数を設定 [$レコード数; 値: 1]
カスタムダイアログを表示 ["入力データ数の設定";
"これから入力するデータ数を入力してください"; $入力データ数]
Loop
Exit Loop If [$レコード数 = $入力データ数]
変数を設定 [$a; 値: $レコード数 = $レコード数 + 1]
新規レコード/検索条件
End Loop
>変数を設定 [$a; 値: $レコード数 = $レコード数 + 1]
ここを
変数を設定 [$レコード数; 値: $レコード数 + 1]
としないとインクリメントになりません。
それとExit判定を最初に持ってきててイコールで結ぶなら、$レコード数の初期値は0じゃないと1件足りなくなる気もします。
Offline
一例です。
カスタムダイアログを表示 ["入力データ数の設定"; "これから入力するデータ数を入力してください"; $入力データ数]
If { $入力データ数>0 ] …0またはキャンセルならば処理しない
変数を設定 [$レコード数; 値: 1] …$レコード数(カウンタ)を初期化
Loop
新規レコード/検索条件
変数を設定 [$レコード数; 値: $レコード数+1] …カウンタを1アップ
Exit Loop If [$レコード数 > $入力データ数] …カウンタが追加レコード数を超えたらループを抜ける
End Loop
End If
Last edited by koeda (2019-10-19 08:35:33)
Offline
$入力データ数
これを1ずつ引いて行けば変数一つでできますよ。
Offline
た、確かに…(・。・;
カスタムダイアログを表示 ["入力データ数の設定"; "これから入力するデータ数を入力してください"; $入力データ数]
If { $入力データ数>0 ] …0またはキャンセルならば処理しない
Loop
新規レコード/検索条件
変数を設定 [$入力データ数; 値: $入力データ数-1] …カウントダウン
Exit Loop If [$入力データ数 = 0] …カウンタが0になったら処理終了
End Loop
End If
Last edited by koeda (2019-10-19 10:44:26)
Offline
Loop
Exit Loop If [$入力データ数 = 0]
新規レコード/検索条件
変数を設定 [$入力データ数; 値: $入力データ数-1]
End Loop
2行減りました^^
Offline
おお、なるほど!ヽ(^o^)丿
Offline
Loop
Exit Loop If [ Let ( $入力データ数=値: $入力データ数-1;$入力データ数 < 0)]
新規レコード/検索条件
End Loop
無理矢理1行減らした。
Offline
皆さま
色々な方法を教えていただきとても勉強なりました。
ありがとうございました。
その後、マイナス数字を入れたり、小数を入れたりしても反応しないように
チポさんのをベースに以下の2行を追加してみました。
Exit Loop If [$入力データ数 = -Abs ($入力データ数)]
Exit Loop If [$入力データ数 ≠ Ceiling ($入力データ数)]
Pages: 1
[ Generated in 0.007 seconds, 8 queries executed - Memory usage: 517.8 KiB (Peak: 522.34 KiB) ]