如何在 VBA 访问的子窗体中显示 Select SQL 语句的结果?

Posted

技术标签:

【中文标题】如何在 VBA 访问的子窗体中显示 Select SQL 语句的结果?【英文标题】:How to display the result of a Select SQL statement in a subform of access with VBA? 【发布时间】:2015-12-28 21:19:33 【问题描述】:

我不知道为什么使用 VBA 在子窗体中显示 SELECT 语句太难,在 VB 中太容易在 DataGridView 中显示数据。

运行代码时,Me.DGVResultado.Form.RecordSource = qdf 行出现“类型不匹配”错误。

这是完整的代码:

Private Sub btnSearch_Click()

Dim qdf As New DAO.QueryDef
Dim pSQL As String

pSQL = "SELECT * FROM Seguimiento"

Set qdf = CurrentDb.CreateQueryDef("Consultasql", pSQL)

Me.DGVResultado.SourceObject = "Seguimiento"
Me.DGVResultado.Form.RecordSource = qdf
Me.DGVResultado.Requery

End Sub

【问题讨论】:

【参考方案1】:

表单的 Recordsource 属性需要一个字符串,而不是 querydef。

你可以使用:

Me.DGVResultado.Form.RecordSource = qdf.name

Me.DGVResultado.Form.RecordSource = pSQL

Me.DGVResultado.Form.RecordSource = qdf.sql

【讨论】:

谢谢,“类型不匹配”已解决,但现在显示新错误“运行时错误 2467 您输入的表达式引用了已关闭或不存在的对象”行: Me.DGVResultado.Form.RecordSource = pSQL 我猜您需要将表单放入表单上的“子表单”控件中。我建议对此提出另一个问题,因为 i)这可能不是(整个)问题,并且 ii)如果是,对问题的完整解释超出了这个特定问题的范围。

以上是关于如何在 VBA 访问的子窗体中显示 Select SQL 语句的结果?的主要内容,如果未能解决你的问题,请参考以下文章

Access VBA:未绑定的子窗体控件不可点击

如何在 Access 的子窗体上不显示选定的记录?

在MS访问中的子表单上显示查询结果

Qt:子窗口中如何获取主窗体ui中的控件

访问子表单可见性

Excel Vba 如何将单元格的值,同步显示在窗体中的LABEL或TEXTBOX中?