2010-07-29 79 views
0

感谢您的回复, 我有一个报告,然后包含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”: 微软Access找不到字段“ThirdCenterCode”在你的表达中提到。

谢谢很多 与问候 伊赫桑Shahidifar [email protected]

回答

0

误差足够通常为true。仔细检查拼写 - 使用智能感知查找与当前表单或报告相关的控件和字段可能很有用,可以通过输入Me来完成。看看它是否被列出。

1

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

所以,如果你想检查我的价值!ThirdCenterCode,然后创建一个控制,并设置其控件,并设置其属性。可见对

当然号,如果你已经有了一个ThirdCenterCode作为ControlSource的控件,这不是答案,更可能是一个简单拼错字段名称的情况。

0

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

最良好的祝愿 伊赫桑Shahidifar [email protected]