Microsoft Access 掲示板

Screen.ActiveReport.nameで取得出来ない / 3

5 コメント
views
4 フォロー
3

Screen.ActiveReport.Name で対象レポート名を取得するのは不安定そうなので、OpenArgs引数でレポート名を渡せばどうでしょう。

Private Sub Report_Open(Cancel As Integer)
    DoCmd.OpenForm "F印刷設定", OpenArgs:=Me.Name
End Sub

Private Sub Report_Close()
    DoCmd.Close acForm, "F印刷設定"
End Sub
Private Sub Form_Open(Cancel As Integer)
    rptName = Me.OpenArgs   'レポート名取得
End Sub

レポートを複数プレビューしたり、プレビュー中に別のレポートを直接印刷したり、などの場合、おかしなことになるので、その辺のことを考慮して、Report_ActivateイベントやReport_Deactivateイベントを利用してレポート名を取得するほうがいいかも。

通報 ...