• ベストアンサー

サブフォームの表示の種類をVBAで操作したい

こんばんは。 アクセスのフォームの中にサブフォームを入れていて コマンドボタンを押すたびに そのサブフォームを フォームビューか、 データシートビューか、 ピボットテーブルビューかに切り替えたいのですが VBAで可能でしょうか? 宜しくお願い致します。

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

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.1

> VBAで可能でしょうか? サブフォームのCurrentViewで現在のビューを確認し、それに応じて切り替える、 ということになるかと思います。 (CurrentViewプロパティは参照専用のため、切り替えにはコマンドを使用) 具体的には以下の通り: (コマンドボタン名を「表示切替」(→親フォームに設置)、サブフォーム名を「SF」  とした場合) Private Sub 表示切替_Click()   '表示を切り替えるサブフォームに移動   '(これがないと、実際の切り替え操作時にエラーが発生)   SF.SetFocus   'サブフォームの現在のビューに合わせて、切り替えるビューを指定   Select Case SF.Form.CurrentView     Case 1  'フォームビューの場合 → データシートビューに切替       DoCmd.RunCommand acCmdSubformDatasheetView     Case 2  'データシートビューの場合 → ピボットテーブルに切替       DoCmd.RunCommand acCmdSubformPivotTableView     Case Else  '上記以外の場合 → フォームビューに切替       DoCmd.RunCommand acCmdSubformFormView   End Select   'クリックしたコマンドボタンにフォーカスを戻す(なくても可)   表示切替.SetFocus End Sub なお、ピボットグラフにも切り替える場合は、以下のようにします: Private Sub 表示切替_Click()   SF.SetFocus   Select Case SF.Form.CurrentView     Case 1  'フォームビューの場合 → データシートビューに切替       DoCmd.RunCommand acCmdSubformDatasheetView     Case 2  'データシートビューの場合 → ピボットテーブルに切替       DoCmd.RunCommand acCmdSubformPivotTableView     Case 3  'ピボットテーブルの場合 → ピボットグラフに切替       DoCmd.RunCommand acCmdSubformPivotChartView     Case Else  '上記以外の場合 → フォームビューに切替       DoCmd.RunCommand acCmdSubformFormView   End Select   表示切替.SetFocus End Sub

5tgbhy
質問者

お礼

ありがとうございます!!!

関連するQ&A

専門家に質問してみよう