-PR-
解決
済み

サブフォームの切り替え方を教えてください

  • 困ってます
  • 質問No.20364
  • 閲覧数1259
  • ありがとう数8
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 47% (20/42)

ACCESS97のVBAでアプリケーションを作成しています。
その中でメインメニューのボタンを押した時に新しいフォームとその中のサブフォームが表示されるような処理を行っているのですが、基本的にフォームは同じのを使いまわし、その中のサブフォームをイベントによって切り替えたいのです(例えばメニュー画面でAのボタンをクリックしたら新しいフォームとその中のAAのサブフォームが、メニューのBのボタンをクリックしたらBBのサブフォームが表示するなど)。どなたか良い方法を知っていましたら教えてください。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.2

mnabeさんの回答に補足という形になりますが
最初は全部のサブフォームを非表示にしておいて
(デフォルトで表示させたいフォームがある時は
そのサブフォームを表示して)

フォームのボタンのクリック時に

サブフォームAA.Visible = True
サブフォームBB.Visible = False
サブフォームCC.Visible = False
サブフォームDD.Visible = False



という風に表示させたいサブフォームのみ表示
にして他を非表示にするっていうやり方です。
サブフォームAAの部分は貼り付けたサブフォー
ムの名前ではなくサブフォームコントロール名
(通常同じですが)にして下さい。


あとAccess97だとタブコントロールが使えます
ので、ご希望の処理はこちらでも可能かと思い
ます。これだとタブ毎にサブフォームを配置
するだけで、あとはタブのラベル部分をクリック
するだけで切り替えられますし。
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル13

ベストアンサー率 33% (427/1283)

サブフォームの数が少なければ...  最初から全てのサブフォームを表示してしまっていて、ボタンクリックイベントで、サブフォームの表示を切り替えるのが簡単ですよ。  少々遅いのが難点ですが...ね。
サブフォームの数が少なければ...

 最初から全てのサブフォームを表示してしまっていて、ボタンクリックイベントで、サブフォームの表示を切り替えるのが簡単ですよ。
 少々遅いのが難点ですが...ね。


  • 回答No.3
レベル13

ベストアンサー率 46% (643/1383)

サブフォームコントロールに表示されるフォームを切り替えるコードの例です。 Private Sub コマンド1_Click()  Select Case MsgBox("フォームを選択 OK→フォーム1 Cancel→フォーム2", vbOKCancel)   Case vbOK    Me.サブフォーム.SourceObject = "フォーム1"   ...続きを読む
サブフォームコントロールに表示されるフォームを切り替えるコードの例です。

Private Sub コマンド1_Click()
 Select Case MsgBox("フォームを選択 OK→フォーム1 Cancel→フォーム2", vbOKCancel)
  Case vbOK
   Me.サブフォーム.SourceObject = "フォーム1"
   Me.サブフォーム.LinkChildFields = "ID"
   Me.サブフォーム.LinkMasterFields = "ID"  
  Case vbCancel
   Me.サブフォーム.SourceObject = "フォーム2"
End Select
End Sub
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ