Supportas Developers Blog

FileMaker(ファイルメーカー)2025新関数 活用術:GetRecordIDsFromFoundSetで開発効率を劇的に向上させる方法 

URL : https://help.claris.com/ja/pro-release-notes/content/index.html

Claris FileMaker 2025がリリースされ、開発者の間で大きな話題となっている新関数 「GetRecordIDsFromFoundSet関数」が登場しました。
今回は、この新関数を実際に使ってみて、その実力と可能性を徹底的に探ってみました。

新関数「GetRecordIDsFromFoundSet」とは?

この新関数は、「現在の対象レコードのレコードIDを一覧またはJSON配列として返します。」と説明されています。
つまり、現在レイアウトに表示されている対象レコードの一意なレコードIDをリスト形式(またはJSON配列)で取得することが可能です。
取得したIDは「レコード一覧へ移動」ステップと組み合わせて使うことで、取得したIDのレコードを再表示させることができます。

URL : https://help.claris.com/ja/pro-help/content/getrecordidsfromfoundset.html

「タイプ」指定で出力形式を制御

GetRecordIDsFromFoundSet関数には「タイプ」を指定する必要があります。
指定できるタイプは「0」から「4」まであり、取得する形式を制御できます。

  • リスト形式:タイプ0、タイプ3
  • JSON配列:タイプ1、タイプ2、タイプ4

例えば、以下のレコードIDデータが対象レコードとして表示されている場合の実行結果を見てみましょう。JSON配列は[]で囲われて表示されているようです。

画像は左から対象レコード、タイプ別の実行結果になります。

※実行結果は表示されている並びで取得されます。

活用例:再検索不要!IDでレコードを再表示

GetRecordIDsFromFoundSetを利用して、実際に再表示されるか検証してみます。
例えばお菓子と果物のデータが10件登録されている状況を例に見てみましょう。

まず、果物だけにレコードを絞りこみます。
そしてその検索結果のレコードIDを$$検索結果という変数に、GetRecordIDsFromFoundSet(0)で保存します。

その後、全レコードを表示した状態から「レコード一覧へ移動」スクリプトステップを利用し、$$検索結果の内容で処理を実行すると・・・

見事に$$検索結果の内容のレコードだけが表示されました!検索条件を再指定することなく、現在の対象レコードIDを取得し、そのIDに基づいてレコードを再表示させることが確認できました。

疑問:レコードIDの仕組みとGetRecordIDsFromFoundSetの動作

今回の検証では、レコードIDのフィールドを明示的に作成していないのに絞り込みができました。
レコードIDはFileMakerではレコードを作成された際に自動的に生成されるシリアルキーのようなもので、通常は表示されていませんが、各レコードに内部で保存されています。
そのため、GetRecordIDsFromFoundSet関数はタイプだけを指定するだけで利用できるのです。

TOを跨いだレコード移動で開発効率化

通常、テーブル作成時に自動で生成されるテーブルオカレンス(TO)以外に、レイアウトごとに専用のTOを作成して利用しているケースは多いのではないでしょうか。

開発用のレイアウトに移動して、元の対象レコードを表示させたいといった場面で、今回のGetRecordIDsFromFoundSet関数と「レコード一覧へ移動」スクリプトステップを組み合わせることで、簡易的なスクリプトで実装が可能になります。

実践の準備:テーブルとオカレンス(TO)の設定

テーブル作成時のオカレンス:KEN‗ALL
レイアウトで利用のオカレンス:住所管理(ソーステーブルはKEN_ALL)

レイアウト準備と処理の実行!

住所データが格納されている98万件のレコードの中から、住所に「県」が含まれる81万件のレコードが表示されている状態で、開発用レイアウトでレコード一覧へ移動して表示可能かを検証しました。

<レイアウト設定>

  

<実行前>
(画像左)レイアウト名:住所一覧、該当件数803,160件/983,400件
(画像右)レイアウト名:KEN_ALL、全件表示983,400件

<スクリプト>
以下のスクリプトを実行し、新規ウインドウで開発用のレイアウトを表示させてみました。

※コメントアウトしている部分は後ほど補足いたします。

<実行結果>
異なるTOであっても、同じソーステーブルであれば、たった2ステップで同じ対象レコードを表示させることができました。

スクリプトの注意点:「使用するレイアウト」の指定

先ほどのスクリプトでコメントアウトした部分について補足します。

上記のように「レコード一覧へ移動」ステップの「使用するレイアウト」で<現在のレイアウト>を使用すると、スクリプトを実行したレイアウトにもどってきてしまいます。
そのため、「レコード一覧へ移動」ステップの使用するレイアウトでは表示させたいレイアウトを明示的に指定してあげる必要があるので注意が必要です。

FileMaker2025新関数で実現する開発の未来

今まではIDの一覧作成には、ExecuteSQLやUniqueValue、Loopを利用して変数化して作成といった方法がありましたが、この関数の登場により、大幅にIDの取得が簡単にできるようになりました。
その他の活用方法としては、レコードのIDを一括で取得できるため、検索結果の履歴作成も可能になるため、再検索の手間を省くことが可能になります。
また、開発者の視点では、不具合など検証時に、ユーザ画面での検索結果を、開発者のメンテナンス用画面で同じレコードをすぐに表示させることができるため、デバックの効率化も見込まれます。

FileMaker 2025で、データ活用の新しい扉を開きましょう!

この関数の詳細については、Claris公式のリリースノートをご確認ください。
公式リリースノートへ

▼ Claris FileMaker 2025関連記事

参考サイト

YASU

猫より犬派ですが、猫を飼っています。

ロゴ:Claris Partner PLATINUM
Claris パートナーの中でも最上位のPLATINUMレベルメンバーとして、Claris FileMaker を活用したソリューションを提供いたします。
FileMaker 、ファイルメーカー、 FileMaker Cloud 、 FileMaker Go およびファイルフォルダロゴは、
Claris International Inc. (旧 FileMaker, Inc.)の米国および/またはその他の国における登録商標です。
アイコン:ページトップへ