Site icon Amelt.net

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

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