FileMaker覚書:レイアウトに戻るボタンを配置

仕事で納品したFileMaker Proのソリューションで、レイアウトを切り替えた時に前の画面(レイアウト)に戻る方法はとの要望があったので方法を考えてみた。

レイアウトのスクリプトトリガを利用して、そのレイアウトから離れるときにレイアウト名をグローバルフィールドに記録しておいて、その値をレイアウト切替に利用することに。

レイアウト名を記録するグローバルフィールド:gレイアウト名記録

レイアウト名を記憶するスクリプト「前のレイアウト」は

フィールド設定[gレイアウト名記録;Get ( レイアウト名 )]

として、このスクリプトを各レイアウトのスクリプトトリガで[OnLayoutExit]に割り当て。

スクリプトトリガ設定

各レイアウトに[戻る]ボタンを配置。割り当てるスクリプト「戻る」の内容は

変数を設定[$前のレイアウト;値:gレイアウト名記録]
レイアウト切り替え[$前のレイアウト]

とした。

レイアウト切り替え[gレイアウト名記録]

では、動作しなかった。「gレイアウト名記録」フィールドには前のレイアウト名がテキストとして入っているのだが、何故?一旦変数に格納してそれをレイアウト名として指定したら動作したので良しとした。

[2014.5.27追記]

一つ前のレイアウトに戻るのはこれでOKだけど、その前のレイアウトの前のレイアウト・・・てな具合にさかのぼって戻るのはこれでは対応できませんね。時間ある時考えてみよう。