access レポートのレコードソースをVBAで指定する方法

VBAでレポートのレコードソースを変えるには、レポートを一度デザインモードで開き、変更後、閉じる必要があります。

 

Private Sub 印刷ボタン_Click()

Const ReportName = “レポート名”
 Dim RecSourceName As String    ‘レコードソース変数
 Dim TitleName As String      ’タイトル名変数

‘フォームで区分選択フレームを選択

Select Case Me![区分選択フレーム].Value
Case 1                       ’区分1の場合
RecSourceName = “T_テーブル名A”
TitleName = “タイトル名A”
Case 2                       ’区分2の場合
RecSourceName = “T_テーブル名B”
TitleName = “タイトル名B”
End Select

‘レポートをデザインモードでオープン <—–ここがキモです
DoCmd.OpenReport ReportName, acViewDesign
‘レコードソースのセット
Reports(ReportName).RecordSource = RecSourceName
‘タイトルのセット
Reports(ReportName)!タイトル.Caption = TitleName
‘レポートを保存しクローズ <—–開いたデザインモードを閉じます
DoCmd.Close acReport, ReportName, acSaveYes
‘レポートをプレビューで開く
DoCmd.OpenReport ReportName, acViewPreview

End Sub

タイトルとURLをコピーしました