
Accessのレポートで年次集計を項目が可変になるため、VBAで書き換えるようにしたのですが、うまく出来ません。
お心当たりのかたいらっしゃいましたら教えて頂けないでしょうか。
フォームの概要(売上集計)
OO年 OO年 OO年
商品A 1,000 2,000 3,000
商品B 1,500 2,500 3,500
商品C 2,500 3,500 4,500
※年は可変です
次のようにするとフォームが開いていないと言ったエラーが出ます。
stDocName = "年別売上集計レポート"
Reports(stDocName).ラベル1.Caption = cstr(Year) + "年"
DoCmd.OpenReport stDocName, acPreview, "", [フィルタ]
又次のようにするとエラーは出ませんが、ラベルは書き換わりません。
stDocName = "年別売上集計レポート"
DoCmd.OpenReport stDocName, acHidden, "", [フィルタ]
Reports(stDocName).ラベル1.Caption = cstr(Year) + "年"
DoCmd.OpenReport stDocName, acPreview, "", [フィルタ]
No.2ベストアンサー
- 回答日時:
今しがた思い返してみたのですが、
意図しているところを探ってみますと下のコードでもまずいと思います。
というのもOpenReport自体がレポートのロード命令であり、
acPreviewとacHiddenとは別のレポートだと思われるからです。
(同じレポートを連続で開こうとするとどうなるか分かりません)
Reports(stDocName).ラベル1.Caption = cstr(Year) + "年"
この一行をレポートのopen、ないしそれに該当するイベントに記述すれば
上記のことは回避できますし、
わざわざhiddenで開いてラベルをセットする必要もありません。
意図をはずしていたらご容赦を。
レポートのオープンイベントでセットしたら解決しました。
結果的にはレポートのオープンイベントでに次のようなコードを入れました。
Private Sub Report_Open(Cancel As Integer)
Me.ラベル1.Caption = Forms!呼び出し元フォーム.年ラベル.Caption + "年"
end sub
こんな方法があるとは教えて頂くまで気が付きませんでした。
助かりました。ありがとうございます。
No.1
- 回答日時:
>フォームが開いていないと言ったエラーが出ます
Form(レポート?)をロードしないとcaptionは変更というか
設定できないと思います。
コードとしては下のコードが正しいはずですが、
achiddenとは何でしょうか?
この引数は取れないようですが・・・
http://www.geocities.jp/cbc_vbnet/kisuhen/docmd. …
Accessの環境がないので参照意見扱いでお願いします。
この回答への補足
ご回答頂きありがとうございます。
仰るとおりopenしていないのメンバも変更出来ないようです。
acHiddenとは非表示でオープンする指定です。
URLも大変良い参考になりました。
下のコードをベースに改良してみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Accessのレポート上のテキストボックス値を設定したい
その他(データベース)
-
ACCESSでコントロールソースの変更
Access(アクセス)
-
Access サブフォームでの選択行の取得
その他(データベース)
-
-
4
accessのレポートであとから他のテーブルのフィールドを追加する方法
Access(アクセス)
-
5
Access2013 レポートを印刷するために開いた、レポートビューをVBAで閉じる方法を教えて。
その他(Microsoft Office)
-
6
Accessでフォームから別フォームのテキストボックスの値を設定する
Visual Basic(VBA)
-
7
Accessのレポートで再読み込み
Access(アクセス)
-
8
ACCESS フォームをそのまま印刷について
その他(データベース)
-
9
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
10
Access レポート印刷するときに1ページに収める方法
Access(アクセス)
-
11
ACCESSで値を代入できないとは?
Visual Basic(VBA)
-
12
AccessレポートのラベルをVBAでかきたい
Access(アクセス)
-
13
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
14
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
15
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
16
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
17
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
18
アクセスVBAで、フォームの値をレポートに代入したい
Access(アクセス)
-
19
2つのテーブルに共通するレコードを削除したい
Access(アクセス)
-
20
Accessでテーブル名やクエリ名一覧の抜き出し
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Accessでページヘッダーだけが...
-
ACCESS2000 VBAで印刷時にサブ...
-
アクセスのレポートのヘッダー...
-
Access チェックボックスを使...
-
Accessのレポート上のテキスト...
-
ACCESS レポートでグループご...
-
Accessのフォーマット時イベント
-
ACCESS2013 REPORTの高さを調節...
-
Access上で作成したレポートのE...
-
「#エラー」の回避
-
Accessのレポート機能で空白に...
-
ファイルメーカープロでレコー...
-
PSQLで-- More --を表示しない方法
-
ExcelからAccessデータを検索す...
-
アクセス2000 印刷の向きがいつ...
-
アクセスのレポートを印刷する...
-
レコードセレクタ、移動ボタン...
-
ファイルメーカーでフィールド...
-
FileMakerで外部保存PDFを開く方法
-
ファイルメーカーでユニークな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ACCESSでデータゼロ件の時レポ...
-
アクセスのレポートのヘッダー...
-
テキストボックスにコントロー...
-
Accessのレポート上のテキスト...
-
Access レポートフッターを条...
-
★お手上げ状態です。助けてくだ...
-
BusinessObjectsについて教えて...
-
Accessでレポートの項目をVBAで...
-
アクセスでレポート作成時にデ...
-
ACCESS2013 REPORTの高さを調節...
-
accessレポートにwordの文...
-
Accessでページヘッダーだけが...
-
Access チェックボックスを使...
-
レポートのラベルなどの非表示...
-
レポートのコントロールソース...
-
Accessのフォーマット時イベント
-
アクセスのレポートをPDF化する...
-
Access 宛名ラベル印刷で,
-
アクセスのレポートで空白のテ...
-
アクセスのレポートの質問です。
おすすめ情報