【问题标题】:Access 2003 - Pass Through Queries, Query Definitions and Form.Recordset (Oh My)Access 2003 - 传递查询、查询定义和 Form.Recordset (Oh My)
【发布时间】:2013-11-05 15:56:34
【问题描述】:

我正在使用 ODBC 数据源创建通过联合查询并尝试使用 form!Formname.Recordset = qdf.opernRecordset 打开记录集。查询正确执行并返回预期的数据,但是当我去执行上面的代码时,我得到了错误:

Error 3251 Operation is not supported for this type of object.

我知道关于此错误的帮助指出:

Some operations are also not supported, depending on if you are accessing a Microsoft Jet or an ODBC data source.

这个错误是由什么引起的?潜在的解决方法是什么?

【问题讨论】:

  • 当您在设计视图中将表单记录源设置为该查询时会发生什么?
  • @HelloW 你能用带参数的传递来做到这一点吗?
  • 是的,你可以,当然这对生产没有用,但对于测试我会推荐它。
  • 如果你使用Set会发生什么? ...Set form!Formname.Recordset = qdf.OpenRecordset
  • @Elias 为什么这令人失望? :-)

标签: sql ms-access odbc jet


【解决方案1】:

在 VBA 中,使用等号为简单变量赋值:

MyText = "foo"

但是在分配给对象变量时使用Set 关键字。在您的情况下,表单的Recordset 是一个属性而不是变量,但该属性是一个对象,所以您仍然需要Set:

Set form!Formname.Recordset = qdf.OpenRecordset

【讨论】:

    猜你喜欢
    • 2013-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-31
    • 2015-02-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多