我正在构建Access报告(2010版),并希望能够根据用户在表单上的选择对其进行自定义。当我运行它时,我收到错误2771:您尝试编辑的绑定或未绑定的对象框架不包含OLE对象。
这是传递参数的代码:
Private Sub Command120_Click()
DoCmd.OpenReport ReportName:="rpt_EODGraph", View:=acViewPreview, _
OpenArgs:=Me!Text0.Value
End Sub
这是打开报告的代码。
Private Sub Report_Open(Cancel As Integer)
Dim ch As Chart
Set ch = Me.Graph3.Object.Application.Chart 'This line generates the error
ch.ChartTitle.text = OpenArgs
End Sub
我发现至少有一个人说这实际上不可能在报告上做。 (http://www.access-programmers.co.uk/forums/showthread.php?t=177778&page=2请注意,这是2页论坛讨论的第2页......)任何人都可以证实或反驳吗?
答案 0 :(得分:3)
显然,在可以访问OLE对象之前,报表必须具有某种焦点。 如果你点击它或将焦点设置为某种东西就足够了:
Private Sub Report_Open(Cancel As Integer)
Dim ch As Object
Me.RandomButton.SetFocus
Set ch = Me.Diagramm11.Object
ch.ChartTitle.Text = "Hello"
End Sub
这很有效。我只是在报告上设置了一个获得焦点的按钮。也许你会找到更优雅的东西;)