hiroton
2025/04/24 (木) 17:06:29
b2fe4@f966d
とりあえず回答例を載せておきます
Dim reportName As String
Dim rs As Recordset
reportName = "R_Report"
DoCmd.OpenReport reportName, acViewPreview, , , acHidden
Set rs = CurrentDb.OpenRecordset(Reports(reportName).RecordSource, , acReadOnly)
If rs.EOF Then
DoCmd.Close acReport, reportName
Else
Reports(reportName).Visible = True
End If
rs.Close
※レポートの空データ時イベントは不要です
ここまでやるとなかなかめんどくさいですね。エラー処理がどういうものかきちんと理解できてるのであれば、空データ時イベント+エラー処理でもいいと思います
レポートのレコードソースをレポートとフォームのモジュール(VBA)2か所に記述することになると修正のときに困るので、結局レポートを一度開いてしまうことにしました
一度開いてしまうとレポートの表示が入るので最初は非表示で開いてから、データをチェックして表示するように
いろいろ考えてみると、いろいろ細かいことが多くてどこまで反映させるか悩みどころですね。「細かいこと」はバッサリカットです
通報 ...