FileMakerカードウィンドウで確認画面を作る
Tips

FileMakerカードウィンドウで確認画面を作る

2026年3月8日 admin Tips

FileMakerでボタンを押したとき、「本当に削除していいですか?」「この内容で登録してよいですか?」といった“確認画面”を出したいことは多いと思います。標準のダイアログでも実現できますが、見た目の自由度が低く、入力内容の確認もしづらいのが難点です。

そんなときに便利なのが「カードウィンドウ」を使った確認画面です。レイアウトのデザインをそのまま活かしながら、画面の中心に小さなウィンドウを表示できるので、きれいで分かりやすい確認画面を作ることができます。

この記事では、専門用語をできるだけ減らしながら、カードウィンドウでシンプルな確認画面を作る手順を解説します。

カードウィンドウで確認画面を作るメリット

まず、なぜカードウィンドウが確認画面に向いているのかを整理しておきます。

  • 画面の中央に小さく表示できる
    メイン画面の上に重ねて表示できるので、ユーザーの目線が自然に集まります。
  • レイアウトを自由にデザインできる
    文字サイズや色、ボタン配置などを好きなように調整できるため、見やすく分かりやすい確認画面になります。
  • 入力内容を見せながら確認できる
    カードウィンドウの背景を透過すれば、裏側にある元の画面を見せたまま確認させることも可能です。
  • 「はい/いいえ」以外の選択肢も作りやすい
    「はい」「いいえ」に加えて「保留」など、任意のボタンを好きなだけ配置できます。

標準のカスタムダイアログより一手間はかかりますが、その分自由度と使いやすさが大きく向上します。

確認用レイアウト(カードウィンドウ用)を作成する

最初に、確認画面として表示する専用レイアウトを作ります。既存のテーブルを利用しても、専用のテーブルを作っても構いませんが、まずはシンプルに同じテーブルを使う形を想定します。

  1. レイアウトモードに切り替えます。
  2. 「新規レイアウト/レポート」を選択します。
  3. 元となるテーブルを選び、「フォーム」形式をベースに作成します。
  4. レイアウト名を「確認_カード」など、分かりやすい名前にします。
  5. 画面サイズを、幅・高さともに小さめに調整します(例:幅500px、高さ300px程度)。
  6. 中央に確認メッセージ用のテキストを配置し、「このレコードを削除してよろしいですか?」など、用途に応じた文言を書きます。
  7. 下部に「はい」「いいえ」などのボタンを2つ配置します。

ボタンにはそれぞれ別のスクリプトを割り当てても構いませんが、後で説明するように「スクリプト引数」で結果を受け取ると管理しやすくなります。

カードウィンドウを表示するスクリプトを作る

次に、カードウィンドウを開くためのスクリプトを用意します。ここでは例として、「削除ボタンを押したときに、カードウィンドウで確認してから削除を実行する」流れを想定します。

  1. スクリプトワークスペースを開き、新しいスクリプトを作成します。
  2. スクリプト名を「削除_カード確認付き」などにします。
  3. 以下のような流れでステップを組み立てます。
  1. 「新規ウインドウ」ステップを追加し、
    • スタイル:カード
    • レイアウト:先ほど作成した「確認_カード」
    • 幅・高さ:レイアウトに合わせて指定
    • 閉じるボックス:オフ(ユーザーが勝手に閉じられないようにする場合)
    • 「カードウインドウの背景に影をつける」や「ダイムシャドウ」など、背景の暗さに関するオプション:必要に応じてオン/オフ
  2. カードウィンドウ側で「はい」「いいえ」が押されるのを待ちます。

ここでポイントとなるのが、「どちらのボタンが押されたか」をメインスクリプトに戻す仕組みです。一般的には、次のような方法がよく使われます。

  • グローバル変数(例:$$confirmResult)に「YES」「NO」などの値をセットする
  • ボタンに割り当てるスクリプトのスクリプト引数で結果を渡す

ボタンで結果を返すスクリプトを作る

カードウィンドウの「はい」「いいえ」ボタンには、それぞれ簡単なスクリプトを割り当てておきます。ここでは、1本のスクリプトで両方のボタンから呼び出す方法を紹介します。

  1. 新しいスクリプトを作成し、「カード確認_ボタン処理」などの名前を付けます。
  2. ボタン側では、「スクリプトを実行」ステップにこのスクリプトを指定し、スクリプト引数に「YES」「NO」などの文字列を渡します。
  3. スクリプト本体では、次のようなステップを設定します。
    • Set Variable($$confirmResult)= Get ( スクリプト引数 )
    • Close Window [現在のウインドウ]

これで、「はい」ボタンが押されたときは $$confirmResult に「YES」、「いいえ」ボタンなら「NO」が入った状態でカードウィンドウが閉じます。

メインスクリプト側で結果を判定する

メイン側の「削除_カード確認付き」スクリプトに戻って、ボタンの結果に応じて処理を分けます。流れとしては次のようになります。

  1. カードウィンドウを開く
  2. カードウィンドウ内でボタンが押され、ウィンドウが閉じられる
  3. グローバル変数 $$confirmResult の内容をチェックする
  4. 「YES」なら削除を実行、「NO」なら何もしない

具体的には、カードウィンドウを開いた直後に「スクリプトの一時停止/再開」ステップを入れて、カードウィンドウ側のスクリプトが終わるのを待つ方法があります。再開後、If ステップで次のように判定します。

  • If [ $$confirmResult = “YES” ] の中に「レコードを削除」ステップを置く
  • Else の中は何もせず、スクリプトを終了する

最後に、使い終わった $$confirmResult をクリアするステップ(Set Variable で空をセット)を入れておくと、次回以降の誤動作防止になります。

実際に使ってみて調整するポイント

一通り仕組みができたら、実際にボタンを押して動きを確かめてみましょう。使いながら、次のような点を微調整すると、より使いやすくなります。

  • ボタンの色・サイズ
    誤操作を防ぐため、「はい」ボタンは慎重に押してもらえるような色(例えば赤系)にする、あるいは逆に「いいえ」を強調するなど、運用に合わせて調整します。
  • メッセージの具体性
    「本当に削除しますか?」だけでなく、「顧客名:◯◯◯ のレコードを削除します。よろしいですか?」のように、対象が分かるメッセージにすると安心です。
  • 閉じるボックスの扱い
    画面右上のバツ印で閉じられたくない場合は、カードウィンドウ作成時に閉じるボックスをオフにしておきましょう。
  • 背景の暗さ
    背景を暗くしすぎると元の情報が見えづらくなります。確認内容に応じて、暗くするかどうかを決めてください。

まとめ:カードウィンドウで分かりやすい確認画面を

FileMakerのカードウィンドウを使うと、標準のダイアログよりも分かりやすく、見た目も整った確認画面を作ることができます。手順をまとめると、

  • 確認用の小さなレイアウト(カードウィンドウ用)を作る
  • カードウィンドウを開くメインスクリプトを用意する
  • 「はい」「いいえ」ボタンでグローバル変数などに結果を渡す
  • メインスクリプト側で結果を判定し、処理を分ける

という流れになります。一度仕組みを作ってしまえば、削除以外にも「登録前の最終確認」「重要なステータス変更の確認」など、さまざまな場面で再利用できます。ぜひ自分のソリューションに合った確認画面を作って、安心して操作できる画面作りに役立ててみてください。

※ 本稿は、生成AIを使用して執筆しています。重要な内容については、必ずご自身でマニュアル等をご確認ください。