【问题标题】:Sum over subgroup in access report访问报告中的子组总和
【发布时间】:2013-02-26 13:23:47
【问题描述】:

我创建了一个访问报告,其中显示了与合作伙伴的合同列表。我需要报告显示组和子组的计数总和。由于这工作得很好,我必须处理一个我无法弄清楚的错误:

[] 是一个文本字段,其中包含我用来计算组的名称、设置和数据内容。

() 是我用来呈现结果的文本字段。

HEADER COUNTRY [txtCountCountryAll|sumoverall|=1]
    HEADER PARTNER [txtCountPartnerAll|sumoverall|=1] [txtCountPartnerGroup|sumovergroup|=1]
        DETAIL CONTRACT 1
        DETAIL CONTRACT 2
FOOTER COUNTRY (=txtCountPartnerGroup)

FOOTER REPORT (=txtCountPartnerAll) (=txtCountCountryAll)

除了一个国家有两个合作伙伴的情况外,一切都很好。

由于某种原因,第一个合作伙伴的“txtCountPartnerGroup”字段未按定义设置为 =1,而是为空。组数将是 1 而不是 2。

无论如何,所有总和都是正确的。 “txtCountPartnerAll”设置为 =1 无论如何都很好。

我制作了一个屏幕截图,其中 txtFields 设置为可见。它显示文本框为空。

感谢任何帮助。

【问题讨论】:

    标签: ms-access report ms-access-2007


    【解决方案1】:

    您愿意使用 VBA 代码计算小计吗?如果是这样,Microsoft 描述了一种解决方案,您可以在打印每一行时自行计算小计:

    Private Sub Detail_Print(Cancel As Integer, PrintCount As Integer)
      If PrintCount = 1 Then
        txtPageSum = txtPageSum + ExtendedPrice
        txtPageQuantity = txtPageQuantity + Quantity
      End If
    End Sub
    
    Private Sub PageHeaderSection_Print(Cancel As Integer, _
                                        PrintCount As Integer)
      txtPageSum = 0
      txtPageQuantity = 0
    End Sub
    

    我们的想法是在每次打印合作伙伴页脚时将合作伙伴计数加一。每次打印国家/地区标题时,都会将合作伙伴计数设置为零。

    【讨论】:

    • 我现在无法测试这个,但我觉得这可能是一个可行的解决方案。当您尝试通过点击来实现这一点时,人们会认为这是集成的方式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-23
    相关资源
    最近更新 更多