【问题标题】:How to display the result of a Select SQL statement in a subform of access with VBA?如何在 VBA 访问的子窗体中显示 Select SQL 语句的结果?
【发布时间】: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

【问题讨论】:

    标签: sql ms-access vba subform


    【解决方案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)如果是,对问题的完整解释超出了这个特定问题的范围。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多