「レコードがありません」というダイアログを非表示にしたい
出典: FileMaker Wiki
残念ながら、出来ない。
このアラートは大して役に立たたないにも関わらず、標準機能として非表示にする方法は提供されていない。 最新のver.9でも変わっていない。
目次 |
[編集] 解説
このアラートは、対象レコードが無い状態でフィールドをクリックすると表示される。
[編集] Windows版での挙動
アプリケーションモーダルのダイアログであるため、OKボタンを押すなどして消さなければ他の作業が行えない。 また一般的なメッセージダイアログではなく、警告ダイアログのため、一見重大なエラーのように見え、強い警告音も出てしまう。
更に問題なのは、ver.7以降で表示条件の変更があった点である。 レイアウトの表示形式が「リスト形式」及び「表形式」では、ボディパートや前部総計パート、後部総計パートのいずれかをクリックした場合でも表示されてまう。 画面上の大部分を占める場合の多いパートをクリックするだけで、強い警告のモーダルダイアログが表示される状態は、非常に使い勝手を損なう。
[編集] 解決策
[編集] 不完全な解決策
スクリプトを使うことで、不完全だがこのダイアログの出現を制御できる。 具体的には、エラー処理とスクリプト一時停止/続行という2つのステップを用い、
エラー処理 [オン] スクリプト一時停止/続行 [制限時間なし]
というスクリプトを実行する事で、問題のダイアログの出現を防ぐ。 これは、エラー処理を有効にする事でアラートの抑制を行い、スクリプトの一時停止を行う事でその抑制を持続させる、という処理になる。
しかしこの方法には、一時停止状態が原因の大きなデメリットがある。 スクリプトを一時停止したウインドウは、他のFileMaker内のウインドウに対してモーダル的状態になる(この挙動を利用してダイアログ風のウインドウが作れる)。 そのため、このスクリプトを実行している間は他のFileMakerウインドウを利用できない。 また、単一のウインドウで完結するオペレーションであったとしても、一時停止状態の管理を行う手間の増加は、たかだかダイアログ一つの抑制とつり合わない。
結論として、この方法でのダイアログ抑制は、かなりシンプルな状況以外では薦められない。
[編集] 完全な解決策
現状では存在しない。 FileMakerのイベントをフックして、という方法は採り得るだろうが、不完全な解決策同様、かかる手間が馬鹿げている。
結局はFileMakerの標準的な機能として、このダイアログの表示を抑制する機能があれば済む事で、ファイルなりレイアウトなりの単位でその指示を行えればなお良い。

