アクセス2003について質問です。フォーム(1)、(2)、(3)があり、フォーム(3)上にはAボタンとBボタンがあります。フォーム(1)からフォーム(3)を開いた時はAボタンを使用可能(表示)し、Bボタンを使用不可(非表示)にしたいと考えています。反対にフォーム(2)からフォーム(3)を開いた時は、Aボタンを使用不可(非表示)、Bボタンを使用可能(表示)にしたいです。理由はフォーム(1)や(2)の値をフォーム(3)の中に値代入しているのですが、フォーム(3)を共有しているのでマクロで別々のボタンAとBを作っているためす。どなたかよろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
追記。
参考。
Function IsLoaded(ByVal strFormName As String) As Integer
'*****
'***** 指定されたフォームが開いているかどうかを返す
'*****
'
Const conObjStateClosed = 0
Const conDesignView = 0
If SysCmd(acSysCmdGetObjectState, acForm, strFormName) <> conObjStateClosed Then
If Forms(strFormName).CurrentView <> conDesignView Then
IsLoaded = True
End If
End If
End Function
古いバージョンのときのものなので
動作確認をしてみてください。
「If IsLoaded("frm_印刷メニュー") = True Then」
こんな感じです。
No.3
- 回答日時:
フォーム3のオープン時かアクティブ時Orロード時イベントに
Me!ボタンA.Visible = CurrentProject.AllForms("フォーム1").IsLoaded
Me!ボタンA.Visible = Not CurrentProject.AllForms("フォーム2").IsLoaded
Me!ボタンB.Visible = CurrentProject.AllForms("フォーム2").IsLoaded
Me!ボタンB.Visible = Not CurrentProject.AllForms("フォーム1").IsLoaded
のどれかを適宜変更して記述
かな?
No.1
- 回答日時:
フォーム、どのフォームが開いているか確認できるテクニックがあります。
今すぐは教えられないのでネットで見つけてみて下さい。VBAでいつでも使える関数です。これで
フォーム3のフォームロードのときフォーム1が開いているかフォーム2かを確認し、その結果でボタン制御します。
別途状態を保持するテーブル等作ってもいいですが同じチェックタイミング増えるたび設定値が膨らみます。使えませんね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Access 登録ボタンからサブフォームの更新 1 2022/07/22 10:23
- Visual Basic(VBA) VB.net フォーム 親子 1 2022/07/04 19:00
- JavaScript ソースコードは下の共有コードサイト「張り紙」にあります。 入力フォームの javascript で 1 2022/05/11 11:01
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Access(アクセス) アクセス 意図せずサブプロシージャを移動してしまうのを止めたい 1 2022/09/02 09:19
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript 空白で入力フォームのボタンをクリックしたら、ブラウザの上部からjavascriptで 表示されるアラ 1 2022/05/20 11:16
- Access(アクセス) マイクロソフト アクセス2021のフォームビュー作成でレイアウトを帳票形式から単票形式にあとから変更 1 2023/03/03 10:56
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
クリックイベントなのに、2回ク...
-
ExcelVBAのユーザーフォームの...
-
ユーザーフォームのテキストボ...
-
ユーザーフォーム上に現在日時...
-
モーダルフォームとモードレス...
-
Hideについて(.NET)
-
【VBAユーザーフォームで閉じる...
-
Excelにて、ユーザーフォームで...
-
VBA(エクセル)のユーザー...
-
MSGBOXのフォント大きさ変更
-
Microsoft Formsの「個人情報や...
-
C#で3つのプログラムができま...
-
コントロールの存在確認
-
VBA ユーザーフォームを速く開...
-
フォームウィンドウを最前面に...
-
孫フォームのラベルやボタンの...
-
フォームを画面のど真ん中に表...
-
VB.NETでフォームロード中のエ...
-
エクセルVBAのフォームを最...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
ExcelVBAのユーザーフォームの...
-
クリックイベントなのに、2回ク...
-
Microsoft Formsの「個人情報や...
-
ユーザーフォームのテキストボ...
-
【VBAユーザーフォームで閉じる...
-
モーダルフォームとモードレス...
-
VBAでユーザーフォームを再表示...
-
エクセルVBAのフォームを最...
-
MSGBOXのフォント大きさ変更
-
Form_Load と Form_Activate の...
-
ユーザーフォーム上に現在日時...
-
Excelにて、ユーザーフォームで...
-
Hideについて(.NET)
-
フォームウィンドウを最前面に...
-
コントロールの存在確認
-
VBA(エクセル)のユーザー...
-
'ユーザーフォーム右上隅の[×...
-
エクセルVBA フォーム上でOnkey...
-
ブックをCloseまたはQuitで閉じ...
おすすめ情報