- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Accessでレポートの項目をVBAで変更したい)
Accessでレポートの項目をVBAで変更する方法
このQ&Aのポイント
- Accessのレポートで年次集計を項目が可変になるため、VBAで書き換える方法を教えてください。
- フォームを開いていないとエラーが出る場合と、ラベルが書き換わらない場合についても解説してください。
- 対応方法について、具体的なコードの記述もお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
今しがた思い返してみたのですが、 意図しているところを探ってみますと下のコードでもまずいと思います。 というのもOpenReport自体がレポートのロード命令であり、 acPreviewとacHiddenとは別のレポートだと思われるからです。 (同じレポートを連続で開こうとするとどうなるか分かりません) Reports(stDocName).ラベル1.Caption = cstr(Year) + "年" この一行をレポートのopen、ないしそれに該当するイベントに記述すれば 上記のことは回避できますし、 わざわざhiddenで開いてラベルをセットする必要もありません。 意図をはずしていたらご容赦を。
その他の回答 (1)
- gungnir7
- ベストアンサー率43% (1124/2579)
回答No.1
>フォームが開いていないと言ったエラーが出ます Form(レポート?)をロードしないとcaptionは変更というか 設定できないと思います。 コードとしては下のコードが正しいはずですが、 achiddenとは何でしょうか? この引数は取れないようですが・・・ http://www.geocities.jp/cbc_vbnet/kisuhen/docmd.html Accessの環境がないので参照意見扱いでお願いします。
質問者
補足
ご回答頂きありがとうございます。 仰るとおりopenしていないのメンバも変更出来ないようです。 acHiddenとは非表示でオープンする指定です。 URLも大変良い参考になりました。 下のコードをベースに改良してみます。
お礼
レポートのオープンイベントでセットしたら解決しました。 結果的にはレポートのオープンイベントでに次のようなコードを入れました。 Private Sub Report_Open(Cancel As Integer) Me.ラベル1.Caption = Forms!呼び出し元フォーム.年ラベル.Caption + "年" end sub こんな方法があるとは教えて頂くまで気が付きませんでした。 助かりました。ありがとうございます。