Claris FileMaker 2023 (バージョン 20.2)の新機能「レイアウト計算」の解説をします。
FileMaker Pro リリースノート
によると、
新しいレイアウト計算では計算フィールドの作成やスクリプトによる変数の設定をせずにレイアウトに計算値を配置できます。
レイアウト上にレイアウト計算を挿入するには:
レイアウトモードで、レイアウト計算を挿入する場所をクリックしてから [挿入] メニュー > [レイアウト計算...] を選択します。
表示したいフィールドやオブジェクトの上には挿入しないでください。
[計算式の指定] ダイアログボックスで、計算に使用する計算式を入力してから [OK] をクリックします。
指定された計算式を含むレイアウト計算 (<<ƒ:[計算式]>>) がレイアウトに表示されます。
レイアウト計算を変更するには:
レイアウトモードで、レイアウト計算を右クリックして [レイアウト計算を編集...] を選択します。
[計算式の指定] ダイアログボックスで、計算式を修正してから [OK] をクリックします。
と書かれています。
使い所
例えば10を超えたら警告文を出したい時に
「それだけのために計算タイプのフィールドを追加するのもなんだかな〜」
という時があります。
データベースの構造となる部分に、表示の機能の為のフィールドを追加したくない。わかります。
そういう場合、今まではタブコントロールやボタンバーを使用していました。
本来の用途とは異なる使い方です。
その機能を本来の使い方として再定義したというのが「レイアウト計算」だと思います。
使い方
レイアウトモードにする
メニューの挿入の一番したにある「レイアウト計算...」を選択
計算式を入力


となります。
簡単ですね。
注意点:レイアウト計算
ラベル選択でレイアウトが崩れる
LetやCase関数を使うと改行が入った縦に長い計算式になる時があります。その状態でラベル枠を小さくします。そして、そのラベルをダブルクリックしてしまうと、中の計算式分の大きさになってしまうので、レイアウトが崩れてしまう危険性があります。
回避方法としてh、右クリックして「レイアウト計算を編集...」を選択しましょう。

テーブル名、フィールド名は自動的に変更されない
フィールド内の計算式で使われているテーブルオカレンス名、フィールド名を変更した場合、自動的に変更されません。前のテーブルオカレンス名、フィールド名のままになるので、計算式としてではなく、ラベルとして表示されます。
これは今までのFileMaker的な動きとは異なるのでハマりそうですね。

この対策としては、「レイアウト計算」はラベルの一種なので、レイアウトモードでの「検索/置換」が有効です。変更されたテーブルオカレンス名、フィールド名を置換してやればいいのです。

ボタンバー、タブコントロールにはないメリット
新機能「レイアウト計算」の計算結果はテキストなので、オブジェクトフィールドの内容を出すことは出来ません。しかし、レイアウトモードの書式設定の数字、日付、時刻のフォーマットは何故か指定することが出来ます。これはボタンバー、タブコントロールでは使うことは出来ません。
この動作は本当に不思議ですね。テキストタイプのフィールドに日付の値を入れても、レイアウトのデータの書式設定は有効になりませんし・・・。

まとめ
新機能「レイアウト計算」は今まで本来の用途しては異なるボタンバーやタブコントロールを使ったフィールドを作らないで行う計算値を、再定義するものでした。
しかし、テーブルオカレンス名、フィールド名を変更された場合に自動的に変わらないデメリットがあります。そういう意味では今まで通りボタンバーを使うのもメリットがあります。また、ダブルクリックで「レイアウト計算」のラベルを選択してレイアウトが崩れてしまうデメリットもありますので、今まで通りボタンバーを使う方もいるかもしれませんね。
Comments