我正在MS Access中的报告中的 On Load Event 中设置指令(VBA)。 当我打开报告时,代码工作得很完美。 但是,当我尝试将报表作为主报表上的子报表嵌入时,代码无效。 我认为问题是我应该引用不同的字段(Me.Service1 ...),因为我现在试图从主报告中调用该字段,但我没有找到正确的语法。 这是我想在我的主要报告中嵌入的代码:
Private Sub Report_Load()
If Me.Service1 = "Scanmachine" Then
Me.Vessel.Visible = True
Me.Label400.Visible = True
Else
Me.Vessel.Visible = False
Me.Label400.Visible = False
End If
End Sub
有什么建议吗?
答案 0 :(得分:1)
实际上,您需要更改子报表控件的相对引用。在我的Access数据库开发工作过程中,我使用了这个Access MVPs resource,甚至为网页加了书签(尽管它使用表单,相同的命名设置适用于报表)。
请考虑以下因素,相应地调整名称并在主报告的OnOpen()
事件中运行:
Private Sub Report_Load()
If Me![subreportcontrolname].Report!Service1 = "Scanmachine" Then
Me![subreportcontrolname].Report!Vessel.Visible = True
Me![subreportcontrolname].Report!Label400.Visible = True
Else
Me![subreportcontrolname].Report!Vessel.Visible = False
Me![subreportcontrolname].Report!Label400.Visible = False
End If
End Sub