レイアウト上でレコードを編集する画面を作るとき、「専用のダイアログ画面がほしい」と感じたことはないでしょうか。別ウィンドウを開く方法もありますが、画面が増えすぎて分かりにくくなったり、閉じ忘れが起きたりしがちです。そこで便利なのが、FileMakerの「カードウィンドウ」を使った編集ダイアログの実装です。
この記事では、カードウィンドウの基本的な考え方と、シンプルな編集ダイアログを作る手順を、専門用語をできるだけ減らして解説します。
カードウィンドウとは?まずはイメージをつかむ
カードウィンドウは、今開いているウィンドウ(親ウィンドウ)の上にカードのように重ねて表示できる小さなウィンドウです。元の画面を隠さずに、必要な部分だけ別画面で操作できるのが特徴です。
- 背景に元の画面が見えたままになる
- サイズや位置を自由に指定できる
- 閉じ忘れても、元の画面を壊しにくい
「今見ているリストの1件だけ詳しく編集したい」「確認メッセージ付きの入力画面を出したい」といったときに、とても相性が良い機能です。
編集ダイアログ用のレイアウトを用意する
まずは、カードウィンドウで表示する専用レイアウトを1つ作っておくと、整理しやすくなります。ポイントは次のとおりです。
- 既存の詳細レイアウトをコピーするか、新規レイアウトを作成します。
- レイアウトサイズをカードで表示しやすいように、やや小さめに調整します(例:幅600〜800px程度)。
- 必要なフィールドだけに絞り、ボタンも最小限にします(「保存」「キャンセル」など)。
- ヘッダ部分に「編集ダイアログ」などのタイトルを入れておくと分かりやすくなります。
通常の入力画面よりも「小さく・シンプル」にまとめるのがコツです。
スクリプトでカードウィンドウを開く
次に、ボタンからカードウィンドウを開くスクリプトを作成します。大まかな流れは以下のとおりです。
- 「新規ウィンドウ」ステップを使い、スタイルに「カード」を指定
- サイズと位置を指定(画面中央に表示するなど)
- 新規ウィンドウステップのオプション、または続けて「レイアウト切り替え」ステップを使って、先ほど作った編集用レイアウトに移動
- 必要があれば、対象レコードを指定して表示
画面中央に表示させたい場合は、「新規ウィンドウ」ステップで幅・高さを固定して、位置を「画面中央に配置」のオプション(または計算式)で調整します。最初は固定サイズでよいので、「小さめのウィンドウを真ん中に開く」とイメージしながら設定してみてください。
「保存」と「キャンセル」の動きを決める
編集ダイアログらしくするには、「保存」と「キャンセル」の振る舞いをはっきり決めておくことが重要です。
保存ボタンの基本
- 入力チェック(必須項目が空でないかなど)
- 問題がなければ「レコードを確定(コミット)」ステップでレコードをコミット
- 「ウィンドウを閉じる」ステップでカードウィンドウを閉じる
入力エラーがあれば、メッセージを出して閉じずにそのままにしておくことで、ユーザーが内容を修正しやすくなります。
キャンセルボタンの基本
- 編集前の状態に戻したい場合は、「レコードを元に戻す」を実行(まだコミットしていないレコードに対して使用)
- そのまま「ウィンドウを閉じる」ステップでカードウィンドウを閉じる
「保存」と「キャンセル」でやることを分けておくと、ユーザーにとっても分かりやすく、入力ミスも減らせます。
元画面との連携を意識する
カードウィンドウで編集した内容は、元の画面(リストや詳細)にもすぐ反映されます。ただし、次の点を意識しておくと運用がスムーズです。
- 元画面がリスト表示の場合、編集後にそのレコードにスクロールしておくと親切
- 必要があれば、編集完了後に再検索や並べ替えを行う
- メイン画面のレイアウトは極力シンプルにし、詳細はカードウィンドウで見せる方針にすると設計が安定しやすい
「一覧は一覧に専念させて、細かい編集はカードに任せる」という役割分担をすると、画面設計がすっきりします。
ありがちなつまずきポイントと対策
カードウィンドウでよくあるつまずきと、その対策も押さえておきましょう。
- ウィンドウがどこかに行ってしまう
→ 「新規ウィンドウ」ステップでサイズと位置をスクリプトできちんと指定することで防げます。 - いつの間にか編集内容が保存されてしまう
→ 不要な自動コミット(他のスクリプトやトリガ)を見直し、「保存ボタンでのみ確定する」形にそろえると安心です。 - どのレコードを編集しているか分からない
→ カードウィンドウのタイトル部分に、IDや名前などのキー情報を表示しておくと、間違いを防げます。
まずは小さな編集ダイアログから試してみる
カードウィンドウは、慣れてしまえば「ちょっとした編集」「確認付きの入力」などにとても便利な仕組みです。いきなり複雑な画面を作るのではなく、まずは1つのテーブル・1つのレイアウトだけを対象に、シンプルな編集ダイアログを作ってみると流れがつかみやすくなります。
そのうえで、「保存」「キャンセル」の動作や、元画面との連携を整えていけば、業務で使える実用的なダイアログを作れるようになります。日々のデータ編集を少しでも安全で分かりやすくするために、カードウィンドウを上手に活用してみてください。