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

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

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

You are not logged in.

Announcement

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


#1 2021-06-27 13:46:14

6120
Member

スクリプト上のif構文について

win10
FM14PRO使用中です。初心者です。
スクリプトを作成したいです。

使用するテーブルは一つ、使用するフィールドは下記の10フィールド(すべてテキスト)です。
ステータスフィールド1
ステータスフィールド2
ステータスフィールド3
ステータスフィールド4
ステータスフィールド5

月謝フィールド1
月謝フィールド2
月謝フィールド3
月謝フィールド4
月謝フィールド5

ステータスフィールド1は月謝フィールド1に、ステータスフィールド2は月謝フィールド2に・・・・対応しています

スクリプトを実行したら

ステータスフィールド1が「済」の場合、→月謝フィールド1が「0」が入力される
ステータスフィールド2が「済」の場合、→月謝フィールド2が「0」が入力される
ステータスフィールド3が「済」の場合、→月謝フィールド3が「0」が入力される
ステータスフィールド4が「済」の場合、→月謝フィールド4が「0」が入力される
ステータスフィールド5が「済」の場合、→月謝フィールド5が「0」が入力される

となるようなスクリプトを作成したいと思っています。
私が考えたのは下記のとおりですが


If[ステータスフィールド1="済"]
フィールド設定[月謝フィールド1;”0”]
End If
If[ステータスフィールド2="済"]
フィールド設定[月謝フィールド2;”0”]
End If
If[ステータスフィールド3="済"]
フィールド設定[月謝フィールド3;”0”]
End If
・・・

という構文であっていますでしょうか?もっと簡単な表記があるのではと思っています。(実際はもっとたくさんのステータスフィールド、月謝フィールドがあります)

ご教授よろしくお願いします。

Last edited by 6120 (2021-06-27 14:08:10)

Offline

#2 2021-06-27 16:19:18

Shin
Member

Re: スクリプト上のif構文について

スクリプトそのものはそれで動くと思いますが、もう少し効率のいい書き方もあります。フィールド設定で、その値を計算式で与えるようにします。

ただ、そのような、同じようなフィールドが羅列される場合には、別テーブルにして元のレコードと関連付けるのが効率的で正しい作り方です。
実際の運用がわかりませんが、ステータスフィールドの状態を評価するだけの別フィールドは、計算フィールドにするべきでしょう。または、ステータスフィールドは、未と済の2状態しかないのでしたら、数値入力にして論理書式を使えば、別のフィールドは不要になります。

Offline

#3 2021-06-30 07:45:21

himadanee
Guest

Re: スクリプト上のif構文について

この場合は結果的には違いはほとんどありませんが、

月謝フィールド1が「0」が入力される

で月謝フィールドが数字タイプなら、
フィールド設定[月謝フィールド1;0]
と値を””で囲まないのが正しいです。
""で囲むと数字でなくテキストとして扱われるので、意図しない結果になることがあります。

#4 2021-07-11 11:00:04

6120
Member

Re: スクリプト上のif構文について

皆様ありがとうございます。
今回はhimadanee様のようにフィールド設定ができました。
ありがとうございます。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.013 seconds, 7 queries executed - Memory usage: 509.21 KiB (Peak: 516.15 KiB) ]