• ベストアンサー

ACCESSのレポートに売上の累計を計算させましたが・・・・

ACCESS2002についてです。 テーブルに"売上日" "売上金額"とある中で"売上累計"を明細行毎にだそうと、本に書いてある下記のように入力しましたが、ページが変わってしまうと"売上累計"が合わなくなってしまいます。どうしたら解決できますか???? Option Compare Database Option Explicit Private curRuikei As Currency Private Sub Report_Open(Cancel As Integer) End Sub Private Sub レポートヘッダー_Format(Cancel As Integer, FormatCount As Integer) '累計のクリア curRuikei = 0 End Sub Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer) '累計の加算 curRuikei = curRuikei + Me!売上金額 Me!売上累計 = curRuikei End Sub です。

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

  • ベストアンサー
  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.3

レポートのフォーマットというのは ページ内に収まるかどうかを調べるために一度フォーマットしてみて 収まらないと分かるとやりなおすというように 結構複雑な処理をしています つまりフォーマットというのは必ず1回行われるというものではないのです アップされたコードのようにフォーマットするたびに加算していたのでは 結果が狂ってくるのは当然ですね FormatCountが1のときだけ加算するようにすれば逃げられるかも分かりませんが ちょっと自信ないです それよりレポートなら[集計実行]という機能がありますから 売上をもうひとつ置き、2つ目の[集計実行]を[全体]とするだけでいいのでは

itiba_2007
質問者

お礼

有難うございます。 早速試してみます。

その他の回答 (2)

  • bonaron
  • ベストアンサー率64% (482/745)
回答No.2

[売上累計] の 「コントロールソース」 を [売上金額] の 「コントロールソース」 と同じにします。 [売上累計] の 「集計実行」 を 「全体」 にします。 以上で出来ます。 VBA は必要ありません。

itiba_2007
質問者

お礼

納得できました。 有難うございました。

noname#182251
noname#182251
回答No.1

>"売上累計"を明細行毎にだそうと の意味が良く判りませんがMS-ACCESSならば ・グループフッター ・Sum 関数 などを使用すれば、もっと楽にできるのではと考えます。

関連するQ&A