初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2019-10-18 18:24:34

わさび茶漬け
Guest

指定した数だけ新規レコードを作成したい

ファイルメーカーを初めて2週間程度の超初心者です。

タイトルに書きましたように、指定した数の新規レコードを予め作るということをしたいと思っています。
試しに自分でスクリプトを作ってみたのですが、無限ループに入ってしまうようで思ったように動いてくれません。

以下のようなものを作ったのですが、間違っているところを教えていただけないでしょうか?

ーーーーー
変数を設定 [$入力データ数]
変数を設定 [$レコード数; 値: 1]

カスタムダイアログを表示 ["入力データ数の設定";
"これから入力するデータ数を入力してください"; $入力データ数]

Loop
         Exit Loop If [$レコード数 = $入力データ数]
         変数を設定 [$a; 値: $レコード数 = $レコード数 + 1]
         新規レコード/検索条件
End Loop

#2 2019-10-18 18:40:31

mic
Member

Re: 指定した数だけ新規レコードを作成したい

>変数を設定 [$a; 値: $レコード数 = $レコード数 + 1]
ここを
変数を設定 [$レコード数; 値: $レコード数 + 1]
としないとインクリメントになりません。

それとExit判定を最初に持ってきててイコールで結ぶなら、$レコード数の初期値は0じゃないと1件足りなくなる気もします。

Offline

#3 2019-10-19 08:28:55

koeda
Member

Re: 指定した数だけ新規レコードを作成したい

一例です。

カスタムダイアログを表示 ["入力データ数の設定"; "これから入力するデータ数を入力してください"; $入力データ数]
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

#4 2019-10-19 10:11:59

チポ
Member

Re: 指定した数だけ新規レコードを作成したい

$入力データ数
これを1ずつ引いて行けば変数一つでできますよ。

Offline

#5 2019-10-19 10:43:49

koeda
Member

Re: 指定した数だけ新規レコードを作成したい

た、確かに…(・。・;

カスタムダイアログを表示 ["入力データ数の設定"; "これから入力するデータ数を入力してください"; $入力データ数]
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

#6 2019-10-19 10:55:04

チポ
Member

Re: 指定した数だけ新規レコードを作成したい

Loop
     Exit Loop If [$入力データ数 = 0]
     新規レコード/検索条件
     変数を設定 [$入力データ数; 値: $入力データ数-1]
   End Loop

2行減りました^^

Offline

#7 2019-10-19 11:00:56

koeda
Member

Re: 指定した数だけ新規レコードを作成したい

おお、なるほど!ヽ(^o^)丿

Offline

#8 2019-10-19 11:16:29

Shin
Member

Re: 指定した数だけ新規レコードを作成したい

Loop
     Exit Loop If [ Let ( $入力データ数=値: $入力データ数-1;$入力データ数 < 0)]
     新規レコード/検索条件
End Loop
無理矢理1行減らした。

Offline

#9 2019-10-20 16:01:01

わさび茶漬け
Guest

Re: 指定した数だけ新規レコードを作成したい

皆さま

色々な方法を教えていただきとても勉強なりました。
ありがとうございました。

#10 2019-10-23 11:19:48

わさび茶漬け
Guest

Re: 指定した数だけ新規レコードを作成したい

その後、マイナス数字を入れたり、小数を入れたりしても反応しないように
チポさんのをベースに以下の2行を追加してみました。

     Exit Loop If [$入力データ数 = -Abs ($入力データ数)]
     Exit Loop If [$入力データ数 ≠ Ceiling ($入力データ数)]

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.007 seconds, 8 queries executed - Memory usage: 517.8 KiB (Peak: 522.34 KiB) ]