Access:VBAで分割フォームにて選択したレポートに出力するコード

Published on:
Last updated:

This post is also available in: 日本語 (Japanese)

Accessの分割フォームにて、コンボボックスにて選択したレポートに、データを出力するVBAのサンプルコードです。
過去の記事「Access:マクロを使い分割フォームにてボタンクリックで複数条件フィルタリングをする方法」と組み合わせて利用することができますので、複数条件にマッチしたフィルタリング結果のみ、指定のレポートに表示・印刷するなどが可能です。

実装方法としては、分割フォームにコンボボックスとボタンを用意します。
ボタンのイベントプロシージャで、ボタンがクリックされたらそのコンボボックスの値を受け取って、レポートを表示するという以下のようなVBAを書きます。

Private Sub SelectedReport_Click()
  'コンボボックスで選択したレポートを表示
  If Me.[コンボボックス名].ListIndex < 0 Then
    MsgBox "表示するレポート名を選択してクリックしてください。"
  Else
    DoCmd.OpenReport Me.[コンボボックス名].Value, acViewPreview, , Me.Filter
  End If
End Sub

About
Kuniyoshi Takemoto is the founder of Amelt.net LLC, and editor of this blog(www.amelt.net).Learn more and follow me on LinkedIn.