
下記のようなことが可能であれば、方法をご教授願います。
まず、構造
フォーム2つ
1.メニュー…コマンドボタン2つ(BT11とBT12)
2.メイン …コマンドボタン3つ(BT21とBT22とBT23)
やりたいことは、
BT11とBT12のクリックイベントでどちらもメインフォームを表示
ただし、
BT11クリック時はacFormAddでメインフォーム上にBT21、BT23だけを表示し、
BT12クリック時はacReadOnlyメインフォーム上にBT22、BT23だけを表示
です。
フォームの表示は出来ましたが、
コマンドボタンの表示/非表示が切り替わりません。
sub BT11_Click()
1行目 DoCmd.OpenForm "フォーム名", acNormal, , acFormAdd, acDialog
2行目 Forms!メインフォーム!BT21.Visible = True
end sub
BT11をクリックしたときは、1行目でとまっているようです。
メインフォームを閉じるときに2行目を実行しようと
するようで、メインフォームがないというエラーがでます。
宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
> BT11をクリックしたときは、1行目でとまっているようです。
DoCmd.OpenFormで第5引数に「acDialog」を指定しているために、そのような動作に
なっているものと思います。
(これを指定すると、MsgBoxなどのように、そのフォームを閉じるまで、次の処理が実行
されなくなります)
ですので、まずはその引数を省略して
DoCmd.OpenForm "フォーム名", acNormal, , acFormAdd
とした上で、ポップアップで表示したいということでしたら、当該フォーム(BT21を設置して
いるフォーム)のデザインビューで、『その他』タブの『ポップアップ』の値を「はい」に、『書式』
タブの『サイズ自動修正』を「はい」に、同タブの『自動中央寄せ』を「はい」に、それぞれ
指定して下さい。
また、当該フォーム表示中は他のフォームなどを触れなくしたい場合は、その下の『作業
ウィンドウ固定』も「はい」にします。
さらに、フォームの外見をMsgBoxなどと同様にしたい場合は、『書式』タブの各項目を
以下のようにしてみてください(一例):
『スクロールバー』:「なし」
『レコードセレクタ』:「いいえ」
『移動ボタン』:「いいえ」
『区切り線』:「いいえ」
『境界線スタイル』:「ダイアログ」
『コントロールボックス』:「いいえ」
『最小化/最大化ボタン』:「なし」
『閉じるボタン』:「いいえ」
※他の設定項目の内容により、設定が無視される項目もありますが、ここではその
項目の設定もそのまま載せさせていただきました(汗)
お礼が遅くなり申し訳ありません。
すごく丁寧なご説明、ありがとうございます。
また、書いていなかったにもかかわらず
>ポップアップで表示したいということでしたら、当該フォーム(BT21を設置して
>いるフォーム)のデザインビューで、『その他』タブの『ポップアップ』の値を「はい」に、『書式』
>タブの『サイズ自動修正』を「はい」に、同タブの『自動中央寄せ』を「はい」に、それぞれ
>指定して下さい。
>また、当該フォーム表示中は他のフォームなどを触れなくしたい場合は、
と、まさにお察しの通りです。
お二人のご回答を合わせて、希望通りのことができました。
本当にありがとうございました。
No.2
- 回答日時:
DoCmd.OpenFormの引数OpenArgsに値を持たせ、フォーム・メイン側Form_Loadあたりで制御するのも一つの手かと思います。
この回答への補足
お礼が遅くなり申し訳ありません。
ありがとうございました。
「OpenArgs」が何か知らず使ったことがなかったので、調べました。
こんな感じで、いつも必要なことだけ調べて使用しているので、またひとつ勉強になりました。
お二人の回答を合わせて、希望通りのものができました。
本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセス:フォームを閉じずに...
-
Formからの複数選択抽出条件に...
-
アクセスのフォームのビューが...
-
Accessのフォームで作業領域を...
-
ACCESS レポートへの表示・非表示
-
Access 別フォームへの再クエ...
-
Accessのフォームに表示...
-
アクセスでの項目追加について...
-
ACCESSを開くと最初にフォーム...
-
アクセスでテーブルの変更内容...
-
Access2002 フォームを閉じるた...
-
ACCESSで入力フォームをHTMLフ...
-
ACCESS クエリで重複データを最...
-
追加先の発見方法(SQL以外)
-
テーブルに主キーを作らないデ...
-
Access 2010 土日祝日を除いて...
-
ACCESS クエリー 抽出条件が...
-
AccessでのDISTINCTROW 、DISTI...
-
access で「指定したフィール...
-
ACCESSでクエリを作成したら「...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Formからの複数選択抽出条件に...
-
アクセス:フォームを閉じずに...
-
Accessのフォーム上にレコード...
-
選択したチェックボックスのみ...
-
アクセスのフォームのビューが...
-
ACCESSのフォームからデータの...
-
Access 別フォームへの再クエ...
-
アクセスでテーブルの変更内容...
-
accessの自動更新処理をできな...
-
アクセスでの項目追加について...
-
Access フォーム上でコンボボッ...
-
Access2002 フォームを閉じるた...
-
アクセス 0以外をカウントす...
-
帳票フォームに全レコードを表...
-
入力途中の入力した値をすべて...
-
Accessのハイパーリンクのパス...
-
ACCESSで入力フォームをHTMLフ...
-
Accessフォームのテキストボッ...
-
Accessのフォーム画面について
-
「メソッドまたはデータメンバ...
おすすめ情報