通过VBA修改Access报告中的图表属性(错误2771)

时间:2014-11-24 20:14:55

标签: vba ms-access charts ms-access-2010

我正在构建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页......)任何人都可以证实或反驳吗?

1 个答案:

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

这很有效。我只是在报告上设置了一个获得焦点的按钮。也许你会找到更优雅的东西;)