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

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

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

You are not logged in.

Announcement

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


#1 2018-09-03 10:57:29

サンサン
Member

スクリプトをまとめる方法

スクリプトについて質問があります。

レイアウトが複数あります。Aテーブル、Bテーブル、Cテーブルがあって、それに対応するAレイアウト、Bレイアウト、Cレイアウトがあります。
テーブル構造は3テーブルとも同じです。

スクリプトは下のようなものがあるとします。

if[get(レイアウト名) = "Aレイアウト"]
if[Aテーブル::数字 < 100]
...
end if
end if

if[get(レイアウト名) = "Bレイアウト"]
if[Bテーブル::数字 < 100]
...
end if
end if

if[get(レイアウト名) = "Cレイアウト"]
if[Cテーブル::数字 < 100]
...
end if
end if

重複している部分が多いので、スッキリまとめないのですが可能でしょうか?

Offline

#2 2018-09-03 13:05:34

men
Guest

Re: スクリプトをまとめる方法

最初にレイアウト名を変数に起きます。中身は、get(レイアウト名)でsubtituteを使い ”A" ”B" "C" だけにしておきます。
変数を設定[ $layout ; 値:Substitute ( get(レイアウト名) ; "レイアウト" ; "" )]

あとはif構文の中にこれを使ってやるだけで動的に変化します。
if[ $layout & "テーブル::数字" <100]

みたいな感じでしょうか?

#3 2018-09-03 13:33:55

Shin
Member

Re: スクリプトをまとめる方法

...の部分が同じならば、
if[Let (
      fld = Get ( レイアウトテーブル名 ) & "::数字" ;
      GetField ( fld ) < 100
    )]
...
endIf
がシンプルでしょう。
ただ、
> テーブル構造は3テーブルとも同じです。
同じ構造のテーブルが複数必要なのが、非常に気になります。おそらく、これを改善するべきでは。

Offline

#4 2018-09-04 10:47:02

サンサン
Member

Re: スクリプトをまとめる方法

menさん、Shinさん
無事にできました!ありがとうございます!

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 10 queries executed - Memory usage: 554.22 KiB (Peak: 569.38 KiB) ]