LoginSignup
0
1

More than 5 years have passed since last update.

いままで使うことがなかったデザイン関数

Last updated at Posted at 2015-12-06

FileMaker Advent Calendar 2015の6日目

いままで使うことがなかったデザイン関数

いままで使うことがなかったデザイン関数ですが、今年はお世話になることがありました

デザイン関数

ホーム > リファレンス > 関数リファレンス > デザイン関数

デザイン関数は、開いているデータベースファイルの構造に関する情報を返します。たとえば、開いているデータベースのすべてのレイアウトやフィールドの名前を判断することができます。

FieldNames関数

目的
<ファイル名> ファイルの <レイアウト名> 上にあるすべてのフィールドの名前を、改行で区切って返します。
構文
FieldNames ( ファイル名 ; レイアウト名 )

FieldRepetitions関数

目的
<レイアウト名> 上にある繰り返しフィールド(フィールド名)の繰り返し数(フィールドを定義したときに指定した繰り返し数と異なる場合があります)と、レイアウト上のフィールドの繰り返しの方向(縦または横)を返します。
構文
FieldRepetitions ( ファイル名 ; レイアウト名 ; フィールド名 )
引数
ファイル名 - 開いているデータベースファイルの名前(ローカルまたはリモート)
レイアウト名 - 指定したデータベースファイルのレイアウトの名前
フィールド名 - 指定したレイアウト上のフィールドの名前

どんなときに使ったか?

繰り返しフィールドが大好きなので

  • FieldNames関数
  • FieldRepetitions関数

FieldNames関数

例えばこんなレイアウトで
151206-01.png
FieldNames関数で現在のレイアウトにあるフィールドを取得してくる
引数は

  • ファイル名→Get (ファイル名 )
  • レイアウト名→Get ( レイアウト名 )

で取れるので

フィールド設定[dummy::ScriptResult; FieldNames ( Get (ファイル名 ) ; Get ( レイアウト名 ) )]

とすると

datagrid
datagrid[11]
datagrid[21]
ScriptResult

みたいに改行区切りのリストで返ってくる

返ってきたフィールドをFieldRepetitions関数に突っ込む
引数は

  • ファイル名→Get (ファイル名 )
  • レイアウト名→Get ( レイアウト名 )
  • フィールド名→GetValue ( dummy::ScriptResult ; 1 )) ※値番号は適宜

で取れるので

フィールド設定[dummy::ScriptResult; FieldRepetitions ( Get (ファイル名 ) ; Get ( レイアウト名 ) ; GetValue ( dummy::ScriptResult ; 1 ))]

とすると

10 vertical
※GetValue ( dummy::ScriptResult ; 1 ))はdatagridのこと

となりはdatagridフィールドは

  • 垂直方向
  • 繰り返し数は10

の繰り返しフィールドだとわかる

ちなみに
151206-02.png
みたいなのは
FieldNames関数で

ScriptResult
dummy
dummy[2]
dummy[4]
dummy[3]

FieldRepetitions関数で

1 vertical
※dummy[2]フィールドを指定したとき

みたいに返ってくる

あと繰り返しフィールドでないフィールドを指定した時にFieldRepetitions関数は

1 vertical

を返す

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1