从Access

时间:2016-02-12 09:29:12

标签: vba ms-access access-vba

我正在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

有什么建议吗?

1 个答案:

答案 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