Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1532 / 2272 ツリー ←次へ | 前へ→

【6716】レポートで、マクロを組んだ表示方法? サチチ 05/11/2(水) 10:17 質問[未読]
【6720】Re:レポートで、マクロを組んだ表示方法? 小僧 05/11/2(水) 14:31 回答[未読]
【6722】Re:レポートで、マクロを組んだ表示方法? サチチ 05/11/2(水) 15:23 お礼[未読]

【6716】レポートで、マクロを組んだ表示方法?
質問  サチチ  - 05/11/2(水) 10:17 -

引用なし
パスワード
   お久しぶりです。また、教えて下さい。
以前、下記のマクロをフォームのイベントプロシージャーに
作成していただき、無事動いたのですが、今度は、それを
レポートに表示したいのです。

Private Sub txt年_AfterUpdate()
  Me.[1年目_ラベル].Caption = Me.txt年 & "年"
  Me.[2年目_ラベル].Caption = Me.txt年 + 1 & "年"
  Me.[3年目_ラベル].Caption = Me.txt年 + 2 & "年"
  Me.[4年目_ラベル].Caption = Me.txt年 + 3 & "年"
  Me.[5年目_ラベル].Caption = Me.txt年 + 4 & "年"
  Me.Requery
End Sub

テキストBOXにtxt年と作成し、そこに2000と打つと、
1年目ラベル〜5年ラベルが2000年・2001年・2002年と
表示されます。

このクエリ名(クエリ管理開始5年)から、レポートをウィザード
で作成したのですが、フォームが表示されている時に、レポート
を表示しても、1年目・2年目ラベルは、そのまま1年目・2年目・・
と出てしまいます。これを、同じ様に、2000年・2001年〜と
表示する事は出来ますか?
どうか、ご教授願います。

【6720】Re:レポートで、マクロを組んだ表示方法?
回答  小僧  - 05/11/2(水) 14:31 -

引用なし
パスワード
   ▼サチチ さん:
こんにちは。

フォームに配置されたコマンドボタンをクリックした際に開かれる
レポートのラベルの標題を変えたいのでしたら、
レポートの詳細のフォーマット時のイベントに

Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer)
  Me.Lbl1年目.Caption = Forms![フォーム名].Lbl1年目.Caption
  Me.Lbl2年目.Caption = Forms![フォーム名].Lbl2年目.Caption
  Me.Lbl3年目.Caption = Forms![フォーム名].Lbl3年目.Caption
  Me.Lbl4年目.Caption = Forms![フォーム名].Lbl4年目.Caption
  Me.Lbl5年目.Caption = Forms![フォーム名].Lbl5年目.Caption
End Sub

のようにする事で可能かと思われます。

ちょっと洒落てコードを書くと

Dim i As Long
  For i = 1 To 5
    Me.Controls("Lbl" & i & "年目").Caption = _
    Forms![フォーム名].Controls("Lbl" & i & "年目").Caption
  Next

こんな感じでも可能です。


※ 1年目_ラベル という名前ですと動作が不安定でしたので
  Lbl1年目と変えてあります。

【6722】Re:レポートで、マクロを組んだ表示方法?
お礼  サチチ  - 05/11/2(水) 15:23 -

引用なし
パスワード
   ▼小僧 さん:
こんにちは。

出来ました!!ちょっと洒落たコードだと、自分が後から見て
分らなくなりそうなので、上記の式にしました。

毎回、小僧さんには分りやすく説明して頂き、大変助かります。
ありがとうございました!!

1532 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078229
(SS)C-BOARD v3.8 is Free