ブログ - FileMaker

filemaker

FileMaker

FileMakerのレイアウト移動を「共通化」して、開発効率を底上げする方法


以前、FileMakerのレイアウト移動を共通化するテクニックをFileMakerの自習室にてご紹介しました。
ですが、思ったほどには反響はありませんでした。 

ただ、自分の中ではかなり手応えがありました。
文章だけでは伝わりにくかったのだと思い、今回はその背景も含めて整理し、あわせて動画を撮っています。 

レイアウト移動スクリプトが増えていく問題

FileMakerでは、ボタンごとにレイアウト移動用のスクリプトを作る構成になりがちです。
画面が増えるほどスクリプトも増え、後から見返すのが大変になります。 

そこでよく使われるのが、レイアウト名を引数で渡して移動処理を共通化する方法です。
ここまでは自然な流れですが、多くの場合この先で詰まります。 

共通化を止めてしまう本当の理由

原因は、レイアウト移動後にやりたい処理が画面ごとに違うことです。
検索をしたい画面もあれば、何もしたくない画面もあります。 

結果として、移動と処理をセットにしたスクリプトを個別に作ることになり、結局スクリプトは減りません
共通化しきれないまま、なんとなく複雑になっていくケースをよく見ます。 

この手法の発明ポイント

この問題を解決するために考えたのが、移動そのものと移動後の処理を完全に分離するやり方です。 

レイアウトを切り替える直前に Get ( レイアウト名 ) で移動前のレイアウト名を保持します。
移動後にもう一度 Get ( レイアウト名 ) を取得し、今どこにいるかを確定させます。 

その二つを使って。
「移動前レイアウト名 → 移動後レイアウト名」。
という命名規則でサブスクリプト名を組み立て、「名前でスクリプトを実行」で呼び出します。

該当するスクリプトが存在しない場合は、エラー処理をオンにしておくだけで何も起こらずに終了します。 

共通化と個別対応を両立できる理由

レイアウト移動の本体は常に一つなので、修正箇所が明確になります。
一方で、特定の移動パターンにだけ処理を足すことができるため、無理な分岐も不要です。

スクリプトの複製が減り、処理内容の微妙な揺れも起きにくくなります。
ファイルが大きくなるほど、この差は効いてきます。 

仕込んでおくと後が楽になる

最初に少しだけ設計が必要ですが、一度入れてしまえばその後の開発はかなり楽になります。
規模が小さいうちは実感しにくくても、後から効いてくるタイプの仕組みです。 

動画とあわせて、実際にサンプルファイルで試してみてください。
きっと長期的には助けになるはずです。



お困りごとをお聞かせください。

FileMakerについてのご相談、ご依頼など。お気軽にお問い合わせください。
頂いた内容については、3営業日以内の返信を心がけております。

既に稼働中のFileMakerの修正も、頻繁にご依頼頂いております。
小さなことから、お気になさらずお気軽にご相談ください。

  • 必須

    詳細を入力してください。

  • 必須

    お名前を入力してください。

  • 必須

    メールアドレスを入力してください。

    正しいメールアドレスを入力してください。



この記事をシェアする

その他のFileMaker一覧