Microsoft Access 掲示板

レポートにフォームから代入

2 コメント
views
4 フォロー

初心者です。レポートヘッダー欄のテキストボックス”実施日”にフォームからの日付を代入させたいのです。1つのフォームからレポートを開くときはレポートのコントロールソースに=Forms!F1!TX実施日 で出来ますが2種のフォームからレポートを開きたいのです。同じ内容のレポートでフォーム1から開く時はフォーム1のTX実施日、フォーム2から開く時はフォーム2のTX実施日を代入さしたいのです。レポートを2つ作成するのも無駄だと思いまして。
いいアイデアあれば教えて下さい。よろしくお願いします。

beginner
作成: 2024/07/08 (月) 14:53:39
通報 ...
1

フォーム上のコマンドボタンからDoCmd.OpenReportでレポートを開いていると仮定します。
DoCmd.OpenReportのOpenArgs引数で値を渡すことができますのでそれを利用するといいでしょう。

DoCmd.OpenReport メソッド (Access) | Microsoft Learn

コード例

フォームのコマンドボタンのクリック時

Private Sub コマンド1_Click()
    DoCmd.OpenReport "レポート名", acViewPreview, , , , Me.TX実施日.Value
End Sub

レポートの読み込み時イベント

Private Sub Report_Load()
    Me.実施日.Value = Me.OpenArgs
End Sub
2
beginner 2024/07/09 (火) 12:43:40 ddfe5@79639

hatenaさん ありがとうございました。OpenArgsで簡単に解決しました。OpenArgsの事は知りませんでした。
こんな便利なことが出来る事を知ることが出来てありがたいです。
お世話になりました。