共通テンプレート(ひな形)を準備する(ポップアップフォーム編)

「パスワードの入力」や「特定の項目だけのクイック編集」など、メイン画面を切り替えるまでもない操作には、ポップアップフォームが最適です。
本記事では、単票フォームのひな形を応用し、より「一時的な操作」に特化させたポップアップ専用テンプレートの設計指針を解説します。

ポップアップフォームの活用シーン

どのような場面でこのテンプレートを使うのか、具体例を挙げて定義します。

  • 一時的な情報入力: パスワード認証、検索条件の指定など。

  • 補助的なマスタ登録: メイン画面の入力を中断せず、裏で新しい区分や名称を追加する場合。

  • 確認・警告: 標準のメッセージボックスでは足りない、詳細な案内や選択を求める場合。

実際のテンプレートフォーム

フォームビュー デザインビュー

主な設定
・フッターの配置
・ヘッダー部にボタン設置
・フォーム全体のプロパティ設定

テンプレートフォームから展開した完成フォーム例

 

テンプレートフォーム(単票)の作り方

  1. 作成 → フォームデザイン
  2. タイトル → フォームヘッダー・フォームフッター・タイトルの配置
  3. フォームヘッダー部分のラベルの削除→高さ0cmに変更
  4. フッター部に ボタン を配置
  5. 詳細部の高さサイズや幅サイズは任意に設定
  6. フォームのプロパティ設定

 

1.作成→フォームデザイン

手順

① タブバーの 作成 をクリック
② エボンの フォームデザイン をクリック

ひな形フォーム

作成されるデフォルトフォームデザイン

デフォルトフォームデザイン

2.タイトル → フォームヘッダー・フォームフッター・タイトルの配置

手順

① タブバーの フォームデザイン をクリック
② リボンの タイトル をクリック

フォームヘッダーとフッターが表示される
同時にフォームヘッダーに「タイトル」が設置される

ひな形フォーム

 

③「タイトル」と「ロゴ」が配置されるので両方削除しておく
④フォームヘッダー部分の高さを0cmにする(マウス操作でも可)
⑤詳細部はそのままでも可(任意で大きさを変更しても可)

3.ボタンの配置

手順

① タブバーの フォームデザイン をクリック
② リボンの ボタン をクリック
③ フッター部に適度なサイズで ボタン を配置する
④ ボタンウィザードが起動する。キャンセルをクリックしてウィザードは閉じる

ひな形フォーム

フォームフッターの背景色を アクセント 5, 暗め 25% に設定(任意色)

ボタン を整える

ひな形フォーム

プロパティシートの変更箇所(※マイルールなので各自決めてください)
標題 閉じる
2.5cm
高さ 0.7cm
上位置 0.15cm
左位置 0.5cm
フォント名 メイリオ
フォントサイズ 9

設置した「閉じる」ボタンのプロパティ設定

閉じるボタンのプロパティシートを開く

名前 閉じる

標題 閉じる

クリック時 ・・・ ボタンを押してマクロビルダーを選択してOKボタンを押す

カレントフォームを閉じるマクロを作成して閉じるボタンに組み込みます
新しいアクションの追加 から ウインドウを閉じる を選択 項目はそのままで
下段に新しいアクションの追加 から マクロの中止 を選択
X でマクロビルダーを終了させる(ポップアップでプロパティを更新しますか? はい)
クリック時 に [埋め込みマクロ]が設置されます

フォームのプロパティシート標準設定

フォームを作るたびに、背景色を変えたり、移動ボタンを非表示にしたりの手間をこのテンプレートフォームでプロパティシートを標準設定しておくことで開発スピードとデザインの統一感が向上します。

プロパティシートの標準設定一覧(ポップアップフォーム用)

タブ 項目 設定値 変更する理由・意図
その他 ポップアップ はい 常に最前面に表示させ、操作対象を明確にするため。
その他 作業ウインドウ固定 はい 背後の画面を操作させず、このフォームの処理を完結させるため。
書式 自動中央寄せ はい モニター解像度に関わらず、常にユーザーの視線の中心に表示させるため。
書式 レコードセレクタ いいえ 非連結方式フォームのため不要。見た目をスッキリさせる。
書式 移動ボタン いいえ 標準ボタンは使わず、自作のマクロで制御するため。
書式 スクロールバー なし 画面サイズを固定し、一目で全項目が見えるようにするため。
書式 コントロールボックス いいえ 予期せぬ操作を防ぎ、マクロで画面遷移を制御するため。
書式 閉じるボタン いいえ 全フォームには「閉じる」ボタンを設置し、終了処理を確実に行うため。
データ 追加の許可 いいえ テーブル直書きを防ぎ、クエリとマクロで整合性を保つため。
データ 削除の許可 いいえ 誤削除防止のため。削除はマクロを通じて実行させる。

【補足】なぜ右上の「×ボタン」(閉じるボタン)を消すのか?

本テンプレートでは、あえてフォーム右上の「×ボタン(閉じるボタン)」を非表示に設定しています。これには明確な理由があります。

  1. 終了時の「後処理」を確実に行うため
    一部のフォームでは、閉じる際に「一時データの削除」や「ログの記録」「入力チェック」などのマクロを実行させています。ユーザーが右上の「×」で勝手に画面を閉じてしまうと、これらの重要な処理がスキップされ、データの不整合が起きるリスクがあるからです。
  2. ユーザーの操作習慣をデザインする
    システムを安定して運用するには、ユーザーに「用意されたボタンで操作する」という習慣を持ってもらうことが大切です。「閉じる」という動作一つをとっても、設計者が意図したルートを通ってもらうことで、予期せぬエラーを防ぐことができます。

【補足】なぜポップアップフォームの「自動中央寄せ」を中央にするのか?

  1. ユーザーの視線移動を最小限に抑える
    ポップアップフォームは、メイン画面での操作を一時的に中断して入力を求めるものです。 画面の端(左上など)に表示されるよりも、常に**「視線の中心」であるモニターの中央**に表示されることで、ユーザーは迷うことなく即座に次の入力作業に移ることができます。
  2. メイン画面との主従関係を明確にする
    中央にドンと表示されることで、「今はメイン画面ではなく、このポップアップの処理を完結させる必要がある」というメッセージを視覚的に伝えることができます。 特に「作業ウィンドウ固定(モーダル)」と組み合わせる場合、中央寄せにすることで**「操作の強制力」**がより直感的に伝わります。
  3. モニター環境に左右されないレイアウトの担保
    Accessは、ノートPCの小さな画面からデスクトップの大きなモニターまで、様々な環境で利用されます。 「自動中央寄せ」を「いいえ」にして座標(上・左)を固定してしまうと、大きなモニターでは左上にポツンと表示され、小さなモニターでは端が切れてしまうといった問題が起きやすくなります。「はい」にすることで、どんな解像度のモニターでも必ず見やすい位置に表示されます。

フォームの保存

名前を付けてフォームを保存します

※本件では 『テンプレポップアップ』 として保存しています

テンプレートフォームをコピペして使用する方法

手順

本件のシステムを例題に紹介します

  1. 『テンプレポップアップ』フォームをコピーして『FXXXXXXX』(仮)フォームと名前をつけて貼り付ける
  2. 『FXXXXXXX』(仮)をデザインビューで開いてフォームのプロパティシートに 標題を設定する(インデックスに表示されるフォーム名)
  3. 詳細部にコントロールを配置する
  4. フォームフッターに「閉じる」ボタン以外に必要な場合ボタンを追加する(キャンセルボタンや更新ボタンなど)

まとめ:操作性の統一と効率化

1. 視覚的な「主従関係」の統一(操作性の統一)

メイン画面とポップアップの役割を明確に分けることで、ユーザーの脳内スイッチを切り替えます。

  • 自動中央寄せの徹底: すべてのポップアップを必ず「画面中央」に出すことで、ユーザーは「今はこれに集中すべき」と瞬時に理解できます。

  • デザインの共通化: ヘッダーの色やボタンの配置(右下に「実行」「キャンセル」など)を全ポップアップで固定します。「どのボタンを押せば戻れるか」が常に同じ位置にある安心感を提供します。

2. 「作業ウィンドウ固定(モーダル)」によるミスの排除(効率化)

ポップアップが開いている間、背後のメイン画面を操作できないように制限します。

  • 入力の中断を防ぐ: 「ポップアップで値を決めてからメインに戻る」という手順を強制することで、中途半端な状態でデータが保存されるリスクをゼロにします。

  • 思考の断絶を防ぐ: 複数の画面をあちこち触らせないことで、現在のタスクを最短ルートで終わらせるよう誘導します。

3. 「非連結」+「自作ボタン」による安全なデータ操作(効率化)

標準の「×」ボタンや自動保存をあえて使わない設計です。

  • 確定アクションの明確化: 独自の「登録」ボタンを押した時だけデータを書き換えるようにします。「いつ保存されたかわからない」という不安を取り除き、確実に処理を完結させます。

  • キャンセル機能の保証: 「戻る」ボタンで何もしないで閉じられることを保証することで、ユーザーが「間違えて変なところを触っても大丈夫」と思える心理的な安全性を生みます。

4. 開発効率の劇的な向上(効率化)

テンプレート化されていることは、開発者にとっても大きなメリットになります。

  • 設定時間のゼロ化: プロパティシートを毎回設定し直す必要がなく、配置した入力欄のロジックだけに集中できます。

  • メンテナンスの簡略化: 「閉じるボタンの挙動を変えたい」と思っても、共通のルールで作っていれば、すべてのポップアップの修正方針が即座に決まります。

 

本サイトではマクロを用いた構築手順を中心に紹介していますが、決してマクロを唯一の正解として推奨しているわけではありません。VBAが扱える環境であれば、より多彩で柔軟なプログラムが組めるVBAでの構築をむしろ推奨したいと考えています。

ここでマクロという選択肢を提示しているのは、VBAにハードルを感じている方への「もう一つの入り口」として、また将来的な後継者への引き継ぎ負荷を抑えるという実務上のメリットを考慮してのことです。設計の考え方の一つとして、状況に合わせて活用してください。