- ベストアンサー
アクセスでモーダルモードでフォームを開く方法
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
フォームのプロパティで設定する方法 ポップアップ はい 作業ウィンドウの固定 はい これで、このフォームを開いている間は他のフォームを触ることができません。 フォームを開くコマンドの引数で設定する方法 DoCmd.OpenForm "フォーム名", , , , , acDialog ダイアログモードで開きます。 後者の場合は、フォームを閉じるまで、次のコードは実行されません。 状況によって使い分けるといいでしょう。
その他の回答 (1)
- hatena1989
- ベストアンサー率87% (378/433)
回答No.2
> DoCmd.OpenForm "フォーム名", , , , , acDialog > だとフォームを閉じるまでずっとVBAが実行中になってしまいますね。 > ちょっとこれは不便でした。 これはこれで使い道があります。 例えば、フォームを開いてそのフォーム上で何らかの処理をしてから、次のコードに進みたいときに有用です。 例えば入力フォームでマスターにないデータを入力したいと言うときに、マスター追加用のフォームを開いて、そこでユーザーに入力させてから、次のコードへ進むと言うときなど。 > ポップアップ はい > はどういう効果があるのでしょうか? ポップアップ はい にしてなくても、作業ウィンドウの固定 はい にしておけば他のウィンドウへフォーカスを移動できないので、前面に表示されたままですね。 ただ、他に ポップアップ はい のフォームがあったらそれが前面に表示されます。 その辺りも状況に合わせて設定すればいいでしょう。
質問者
お礼
ありがとうございます。
お礼
DoCmd.OpenForm "フォーム名", , , , , acDialog だとフォームを閉じるまでずっとVBAが実行中になってしまいますね。 ちょっとこれは不便でした。 ポップアップ はい 作業ウィンドウの固定 はい にしたら理想通りになりました。 ちなみにこれを Form_フォーム2.PopUp = True Form_フォーム2.Modal = True としてVBAでやろうとしたら、 PopUpはデザインビューでしか指定できないようですね。 なので、 Private Sub Form_Open(Cancel As Integer) Form_フォーム2.Modal = True End Sub にしたのですが、 ポップアップ はい にしなくても今く行きました。 ポップアップ はい はどういう効果があるのでしょうか?