• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Accessでレポートの項目をVBAで変更したい)

Accessでレポートの項目をVBAで変更する方法

このQ&Aのポイント
  • Accessのレポートで年次集計を項目が可変になるため、VBAで書き換える方法を教えてください。
  • フォームを開いていないとエラーが出る場合と、ラベルが書き換わらない場合についても解説してください。
  • 対応方法について、具体的なコードの記述もお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • gungnir7
  • ベストアンサー率43% (1124/2579)
回答No.2

今しがた思い返してみたのですが、 意図しているところを探ってみますと下のコードでもまずいと思います。 というのもOpenReport自体がレポートのロード命令であり、 acPreviewとacHiddenとは別のレポートだと思われるからです。 (同じレポートを連続で開こうとするとどうなるか分かりません) Reports(stDocName).ラベル1.Caption = cstr(Year) + "年" この一行をレポートのopen、ないしそれに該当するイベントに記述すれば 上記のことは回避できますし、 わざわざhiddenで開いてラベルをセットする必要もありません。 意図をはずしていたらご容赦を。

flowergoo
質問者

お礼

レポートのオープンイベントでセットしたら解決しました。 結果的にはレポートのオープンイベントでに次のようなコードを入れました。 Private Sub Report_Open(Cancel As Integer) Me.ラベル1.Caption = Forms!呼び出し元フォーム.年ラベル.Caption + "年" end sub こんな方法があるとは教えて頂くまで気が付きませんでした。 助かりました。ありがとうございます。

その他の回答 (1)

  • gungnir7
  • ベストアンサー率43% (1124/2579)
回答No.1

>フォームが開いていないと言ったエラーが出ます Form(レポート?)をロードしないとcaptionは変更というか 設定できないと思います。 コードとしては下のコードが正しいはずですが、 achiddenとは何でしょうか? この引数は取れないようですが・・・ http://www.geocities.jp/cbc_vbnet/kisuhen/docmd.html Accessの環境がないので参照意見扱いでお願いします。

flowergoo
質問者

補足

ご回答頂きありがとうございます。 仰るとおりopenしていないのメンバも変更出来ないようです。 acHiddenとは非表示でオープンする指定です。 URLも大変良い参考になりました。 下のコードをベースに改良してみます。

関連するQ&A