MS Access Report 再保人分组表头显隐控制的On Format事件代码咨询
MS Access 报表分组表头条件显示实现方案
实现步骤
- 打开对应报表的设计视图,选中Reinsurer分组的表头节,右键打开「属性」面板
- 切换到「事件」标签页,找到「格式化」选项,选择「事件过程」,点击右侧的
...按钮进入VBA编辑界面 - 粘贴以下代码,按你的实际字段/控件名修改后保存即可:
Private Sub 你的分组表头控件名_Format(Cancel As Integer, FormatCount As Integer) Dim dealerCount As Integer ' 统计当前再保人分组下的唯一经销商数量 dealerCount = DCount("Distinct Issuing_Dealer_Name", "你的报表绑定的表/查询名", _ "Reinsurer = '" & Replace(Me!Reinsurer, "'", "''") & "'") ' 经销商数量大于1时显示分组头,否则隐藏 Me.你的分组表头控件名.Visible = (dealerCount > 1) End Sub
注意事项
- 替换代码里的
你的分组表头控件名:可以在属性面板顶部的「所选内容的类型: 组页眉」下方查看实际控件名,通常默认是GroupHeader0、GroupHeader1这类命名 - 替换代码里的
你的报表绑定的表/查询名:即你报表「记录源」属性对应的表或者查询名称 - 如果Reinsurer字段是数值类型,把DCount第三个参数里的单引号去掉,修改为:
"Reinsurer = " & Me!Reinsurer - 数据量较大时推荐使用优化方案:先在报表的记录源查询里提前计算每个Reinsurer对应的经销商数量,新增计算字段
DealerCount: Count(Distinct Issuing_Dealer_Name)并按Reinsurer分组,事件代码可简化为Me.你的分组表头控件名.Visible = (Me!DealerCount > 1),执行效率更高
内容的提问来源于stack exchange,提问作者ToddnDFW
相关产品推荐
相关产品推荐

