【问题标题】:MS Access, Refreshing a report embedded in a formMS Access,刷新表单中嵌入的报告
【发布时间】:2014-09-05 21:31:38
【问题描述】:

我在包含文本框和按钮的表单中嵌入了一份报告。

我的愿望是更新报表上的过滤器并在表单中重新查询和刷新报表。我对在访问中使用 VBA 不是很熟悉,所以我很可能完全不了解我尝试这样做的方式。

点击 generateExhib 按钮时触发的事件如下。

作为子表单/子报表嵌入的报表名为 TagReport。

    Private Sub GenerateExhib_Click()



    If (generatePrintedExhib.Value = False) Then
        Me.TagReport.Application.DoCmd.SetFilter WhereCondition:="[Exhibitor ID] =" + ExhibitorNumber.Value + " AND [UDEntry-CheckBox1] = false"
    Else
        Me.TagReport.Application.DoCmd.SetFilter WhereCondition:="[Exhibitor ID] =" + ExhibitorNumber.Value
    End If


    Me.TagReport.Report.Application.DoCmd.Requery
    Me.TagReport.Report.Application.DoCmd.RefreshRecord


End Sub

【问题讨论】:

  • 不确定是不是罪魁祸首,所以我将把它作为评论发布,但你为什么要经历Me.TagReport.Report.Application.DoCmd.Requery 的整个麻烦而不是Me.TagReport.Requery

标签: ms-access vba ms-access-2013


【解决方案1】:

我创建了一个带有嵌入式报告的小测试表单、一个包含要过滤的值的组合框和一个刷新按钮。在按钮的单击事件中,我添加了以下代码:

Private Sub cmdRefresh_Click()
    Dim filter As String

    filter = "CardCode = '" & Me.cmbFilter.Value & "'"

    '"subform_rpt" is the specific name of the embedded report. 
    DoCmd.ApplyFilter "Filter", filter, "subform_rpt"

End Sub

对我来说效果很好。我希望这将有所帮助。

【讨论】:

  • 另外,如果您是新来的,如果此答案解决了您的问题,请单击旁边的复选标记将其标记为答案。如果您觉得它有帮助,请至少给它投票。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多