Microsoft Access 掲示板

レポートグループ値の総合計をレポートヘッダーに表示させたい / 16

25 コメント
views
4 フォロー
16

おお!これはいいですね。
集計実行で累計を計算させて、VBAでフッターのフォーマット時にヘッダーに代入。
シンプルですし、確実です。

=Pages のテキストボックスは必須ですね。
こちらでサンプルも作成して動作確認できました。

通報 ...
  • 18
    hiroton 2023/06/07 (水) 10:48:07 修正 9c71f@f966d >> 16

    個人的にはレポートあまりごちゃごちゃさせたくないんでVBA優先しちゃいますけどね

    Option Compare Database
    Option Explicit
    
    'レポート上に「コントロールソース:=[pages]」のテキストボックスを配置すること
    
    Dim lastDay As Date
    Dim daySum As Currency
    Dim total As Currency
    
    Private Sub レポートフッター_Format(Cancel As Integer, FormatCount As Integer)
        total = total + daySum * 1.1
        Me!月合計 = total
    End Sub
    
    Private Sub 詳細_Format(Cancel As Integer, FormatCount As Integer)
        If Me.FormatCount = 1 Then
            If Me!日付 = lastDay Then
                daySum = daySum + Me!数
            Else
                total = total + daySum * 1.1
                daySum = Me!数
                lastDay = Me!日付
            End If
        End If
    End Sub
    

    んー、ここまでVBA任せにするとなんか難しそうに見えますね

    レポート上のコントロールのプロパティによって結果が変わるモノを使いたくない(プロパティ確認が手間)ってのもあるんですが、コントロールを使えばプレビューでイメージを掴みやすいってメリットも有難いところではあります

    この先は、慣れと雰囲気でお好きなものをって感じですかね