访问具有多个记录的子报表 - 引用VBA中的每个记录?

时间:2014-06-12 12:35:08

标签: vba ms-access access-vba

我有一个Access报告,它有一个嵌套的子报告。在子报表中,有一个图表,我需要通过VBA引用它来调整轴。

我遇到的问题是子报表有多条记录,这些记录适合同一页面。我的VBA在主报表的详细信息部分的OnPrint事件中触发(这是包含图表的子报表所在的位置),并且似乎对图表的引用仅引用每个页面上的第一个图表。

我的代码如下:

If (Reports![Desired_Future_State Overview]![Desired_Future_State_Metric Programme Breakdown].Report![Walkup Chart].Object.Axes(2).MaximumScale) = 0 Then
      Reports![Desired_Future_State Overview]![Desired_Future_State_Metric Programme Breakdown].Report![Walkup Chart].Object.Axes(2).ReversePlotOrder = True
End If

我无法在MS文档中看到有关如何使用此语法引用多个实例的任何信息 - 这是可能的,我将如何处理它?<​​/ p>

1 个答案:

答案 0 :(得分:0)

我通常做的是参考报告代码中的特定图表,在下面的示例中,我使用了报告的Detail_Format并引用了名为GraphName的图表

Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
 Dim objchart As Object
 Dim objAxis As Object

 Set objchart = Me!GraphName.Object
 Set objAxis = objchart.Axes(2)

 Dim Maxscale As Double
 Dim MinScale As Double

 Maxscale = Forms.MyForm.Maxscale
 MinScale = Forms.MyForm.MinScale

 objAxis.MaximumScale = Maxscale
 objAxis.MinimumScale = MinScale

End Sub