#609 グラフの値集合ソースを動的に変える方法 レポート、VBA

グラフオブジェクトのプロパティを変更したい場合、フォームでは、開くときや開いたあとにそれらを設定変更することができますが、レポートでは開くときイベント等ではエラーとなって変更できません。

そこで、レポートを印刷やプレビューで開く前、つまりレポート出力を実行する前に変更します。

それには、まずレポートのデザインビューを開き、デザインの一部としてプロパティを変更します。そしてそのデザインを保存したあと、あらためてそのレポートを印刷やプレビューで開き直します。

次の例では、レポート「rptグラフ」中にある「grphMain」という名前のグラフオブジェクトの「値集合ソース(RowSource)」プロパティを”qselグラフ”というクエリに設定変更しています。

'レポート名を定義
Const cstrRptName As String = "rptグラフ"

'いったんレポートのデザインビューを開く
DoCmd.OpenReport cstrRptName, acViewDesign

'グラフオブジェクトの値集合ソースを設定
Reports(cstrRptName)!grphMain.RowSource = "qselグラフ"

'レポートを保存して閉じる
DoCmd.Close acReport, cstrRptName, acSaveYes

'正式にレポートを開く
DoCmd.OpenReport cstrRptName, acViewPreview


※.accdeではデザインビューでレポートを開けないので、この方法は使えません。
※デザインビューは閉じずにそのまま上書き保存して印刷したりプレビューしたりすることもできます。ただしプレビューの場合、画面に対してちょうどよいサイズに自動縮小されて表示されない(拡大表示される)ので、ここではいったん閉じてから開き直すような手順をとっています。
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved