2016-02-12 122 views
0

我在设置指令(VBA)在加载事件 MS Access中的报告。 当我打开报告时,代码完美无缺。 但是,当我尝试将报告作为子报表嵌入到主报表中时,代码不起作用。 我认为问题是我应该引用不同的字段(Me.Service1 ...),因为我现在想从主报表中调用该字段,但是我没有找到正确的语法结构。 这是代码我想embeed我的主要报告:VBA代码引用从主要报告访问子报告

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

所以我是正确的思维是'service1','vessel'和'label400'都在主报告? – LiamH

+0

不,他们只是从子报表领域... –

+0

哦,好吧,我会编辑我的答案相应 – LiamH

回答

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 
+0

IT与代码工作,我写它如你所说,它的工作,感谢您的帮助。我已经看到你连接的桌子,但我可以在之前理解它。现在我明白了。谢谢您的帮助 :) –