格式报告组标题

时间:2010-07-29 13:37:32

标签: ms-access

感谢您的回复, 我有一份报告,然后包含7个组级别。我想如果groupheader7(ThirdCenterCode)中的字段为空,则它的组头(groupheader7)可见属性设置为否。 它应该是每行的控制。因为它是我的另一条记录,该字段不为空,应显示组标题7。 我在组头7的格式属性中尝试此代码,但它不起作用并返回以下错误:

Private Sub GroupHeader7_Format(Cancel As Integer, FormatCount As Integer)
If IsNull([ThirdCenterCode]) Then
Me.GroupHeader7.Visible = False
End If
End Sub

运行时错误'2465': Microsoft访问无法找到表达式中引用的字段“ThirdCenterCode”。

非常感谢你 最诚挚的问候 Ehsan Shahidifar e.shahidifar@yahoo.com

3 个答案:

答案 0 :(得分:2)

在报表的VBA中,除非对使用该字段作为其控制源的报表进行控制,否则不能引用基于记录源的报表中的字段。情况并非总是如此。

因此,如果要检查Me!ThirdCenterCode的值,则创建一个控件并将其设置为其ControlSource,然后将其.Visible属性设置为否。

当然,如果你已经有一个使用ThirdCenterCode作为其ControlSource的控件,那不是答案,而且更有可能只是拼错字段的名称。

答案 1 :(得分:0)

错误通常是真的。仔细检查拼写 - 使用intellisense查找与当前表单或报表关联的控件和字段非常有用,您可以通过键入Me来完成此操作。并查看它是否已列出。

答案 2 :(得分:0)

感谢您的重播。 我发现错误原因的消息,是错误的位置。它应该位于报告的详细部分。然后我在报告的详细信息部分的OnFormat中找到它。我发现,如果只有一个第一组记录为Null Access,则不会显示当前第一组数据的所有行的ThirdCenterCode部分。并不是我想要的,因为有一些数据行,它们的ThirdCenterCode字段不是Null并且应该显示。 为了解决这个问题,我在报告的OnLoad部分找到了我的代码,它解决了我的第一个问题, 但导致另一个问题。在本节中,如果所有记录都为空,并且如果只有一条记录不为空,则Access不会向我显示ThirdCenterCode组部分,Access显示ThirdCenterCode部分。并且它导致我的报告中的一行或多行变为空白。 最终解决这个问题我将报告的OnLoad部分的代码复制并粘贴到OnPrint的详细报告中。不相信我发现,当显示报告时,我的最后一个问题没有解决。但是当我打印报告时,我的问题就解决了。 (这意味着如果ThirdCenterCode是Null Access,则不显示它的节组,如果不是Null Access则显示每条记录。)

祝福 Ehsan Shahidifar e.shahidifar@yahoo.com