如何在 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 语句的结果?的主要内容,如果未能解决你的问题,请参考以下文章