Accessフォームをポップアップ表示する方法

概要

この記事の結論
Accessフォームをポップアップ表示するには、デザインビューでフォーム全体を選び、ポップアップをはいにします。入力を終えるまで他の画面へ移らせたくない場合は、作業ウィンドウ固定(Modal)も検討します。

この記事でわかること

  • 用途に合わせて2つの設定を選ぶ
  • フォームのプロパティを変更する
  • VBAでダイアログとして開く
  • 閉じる方法と画面サイズを確認する

この記事の主な内容

  1. ポップアップは前面表示の設定
  2. 用途に合わせて2つの設定を選ぶ
  3. フォームのプロパティを変更する
  4. VBAでダイアログとして開く
  5. 閉じる方法と画面サイズを確認する
  6. 親画面への反映と再表示を確認する
  7. よくある質問

想定読了時間:約7分


1 ポップアップは前面表示の設定

Accessフォームをポップアップ表示するには、デザインビューでフォーム全体を選び、ポップアップを「はい」にします。入力を終えるまで他の画面へ移らせたくない場合は、作業ウィンドウ固定(Modal)も検討します。

PopUpは表示の重なり、Modalはほかのウィンドウへの操作制限です。
前面へ出したいだけなのに両方を有効にすると、利用者の操作を必要以上に止めることがあります。

2つのプロパティの違いについて、PopUp、Modalの関係を示す図

2 用途に合わせて2つの設定を選ぶ

検索条件の補助画面なら、元画面を操作できるポップアップが向く場合があります。
確認入力を完了しないと先へ進めない画面なら、モーダルが候補です。
利用者がどちらの画面を同時に見る必要があるかで決めます。

設定例と確認点

設定意味主な用途
PopUp=Yes前面に表示補助画面
Modal=Yes他ウィンドウ操作を制限必須の確認入力
acDialogダイアログとして開く後続処理を待たせる
画面の用途を決めるについて、補助、確認、待機の関係を示す図

3 フォームのプロパティを変更する

ポップアップはコントロールではなくフォーム全体の設定です。
ラベルやテキストボックスを選択したままだと対象のプロパティが見えないため、フォーム選択ボタンやプロパティシートの選択欄を確認します。

プロパティ設定の順序について、選択、設定、調整、確認の関係を示す図

操作手順

1. F_検索条件をデザインビューで開きます。

2. フォーム全体を選択します。

3. ポップアップをはいにします。

4. 必要な場合だけ作業ウィンドウ固定をはいにします。

5. 自動中央寄せや境界線スタイルを調整します。

6. 保存してフォームビューで開き直します。

acDialogの動作について、呼出、待機、再開の関係を示す図

4 VBAでダイアログとして開く

後続の処理を、画面が閉じるか非表示になるまで待たせる場合はOpenFormのacDialogを使えます。
単にPopUpをはいにするだけで、呼出元のVBAが同じように待つわけではありません。

次のコードはF_検索条件をダイアログで開きます。
利用者がキャンセルした場合の扱いも決め、ダイアログを閉じたら必ず入力が完了したと判断しないでください。

サンプルコードと式

DoCmd.OpenForm “F_検索条件”, WindowMode:=acDialog

‘ 閉じる、または非表示になると後続処理へ進みます。

閉じる経路について、完了、取消、閉じるの関係を示す図

5 閉じる方法と画面サイズを確認する

Modalの画面から抜ける方法がないと、利用者が操作を続けられません。
閉じるボタンやキャンセルを用意し、未保存の値を保存するか取り消すかを明確にします。

小さい解像度や拡大率の違うPCでは、ボタンが画面外へ出ることがあります。
前回の位置を引き継ぐ運用なら、複数モニターを外した場合も確認してください。

表示環境の確認について、解像度、拡大率、モニターの関係を示す図

既存Accessへの影響を判断できない場合

本記事の手順をコピーしたファイルで試しても解決しない場合や、既存データ・他の画面への影響を判断できない場合は、お気軽にご相談ください。対象ファイル、操作手順、期待する結果を整理すると、調査や改修の範囲を相談しやすくなります。


6 親画面への反映と再表示を確認する

ダイアログでマスターを追加した後、親の候補一覧をRequeryして新しい値を取得するなど、閉じた後の更新を設計します。フォームを前面に表示することと、親のデータを更新することは別です。

起動フォームまで全部ポップアップにする前に、通常画面と補助画面の役割を整理しましょう。
重なりを増やすほど、利用者が現在の作業場所を見失うことがあります。

親画面への反映について、入力、保存、更新の関係を示す図

7 よくある質問

異なります。前面表示と他ウィンドウ操作の制限です。

OpenFormのWindowModeにacDialogを指定する方法があります。

閉じる・キャンセルの経路、ボタンが画面内にあるか、保存エラーを確認します。

まとめ

起動フォームまで全部ポップアップにする前に、通常画面と補助画面の役割を整理しましょう。
重なりを増やすほど、利用者が現在の作業場所を見失うことがあります。

本記事の手順をコピーしたファイルで試しても解決しない場合や、既存データ・他の画面への影響を判断できない場合は、お気軽にご相談ください。対象ファイル、操作手順、期待する結果を整理すると、調査や改修の範囲を相談しやすくなります。


参考情報

Microsoft公式資料を参照しています。サンプルは説明用の架空データです。Windows版Accessの実機検証は未実施のため、適用前に対象環境のコピーで結果を確認してください。

Microsoft:PopUp
https://learn.microsoft.com/en-us/office/vba/api/access.form.popup

Microsoft:Modal
https://learn.microsoft.com/en-us/office/vba/api/access.form.modal

Microsoft:OpenForm
https://learn.microsoft.com/en-us/office/vba/api/access.docmd.openform

TOP