前提・実現したいこと
Access VBAを使用して
ナビゲーションフォームのサブフォームエリアに"F02-1_注文"(サブフォーム)を表示しているかを判定させたいです。
発生している問題・エラーメッセージ
下記のコードだと、開いていないという結果でした。
どのように修正すればよろしいでしょうか?
該当のソースコード
VBA
1 Dim varRet As Variant 2 3 'フォーム "F02-1_注文" の状態を取得します。 4 varRet = SysCmd(acSysCmdGetObjectState, acForm, "F02-1_注文") 5 6 '「SysCmd」が返す値から"F02-1_注文" の状態を表示します。 7 Select Case varRet 8 Case 0 9 MsgBox "開いていないか、存在しません" 10 Case 1 11 MsgBox "開いています" 12 Case 5 13 MsgBox "新しいフォームです" 14 Case 7 15 MsgBox "編集されましたが、まだ保存されていません" 16 End Select
サブフォームはサブフォームコントロールにコントロールソースとしてフォームを設定しますが、開いているかどうかとはどのような状態ですか?
表示するサブフォームを切り替えるというならコードで設定するはずですから、判別は不要だと思うのですが。
たとえば、”F02-1注文”というサブフォームをナビゲーションフォームにて表示しているときは、"F02-1_注文"をナビゲーションフォーム上の移動ボタン経由で再ロードしないという処理を行いたいです。
ナビゲーションフォームはメニューの意味合いを持ちますが、F02-1_注文を一旦開くと、他のフォームへは移動させないという事ですか?
F02-1_注文を表示させたら、再度同じボタンを押せないようにする
同じサブフォームを再表示させないという意味合いです。
Enabled = False
だと文字色が鼠色になってしまうのが都合が悪い為です。
回答2件
あなたの回答
tips
プレビュー