【问题标题】:Run-time error 3219 when trying dbs.OpenRecordset尝试 dbs.OpenRecordset 时出现运行时错误 3219
【发布时间】:2017-05-18 14:12:48
【问题描述】:

通常我使用 ADODB 记录集和数据库连接,但由于 ADO 的一些限制,我第一次需要使用 DAO 记录集。我正在尝试创建记录集,但收到错误 3219 - 无效操作。

这是我所有的 DAO 数据库代码。

Dim dbsTrace As DAO.Database Dim rsTrace As DAO.Recordset

Set dbsTrace = CurrentDb Set rsTrace = dbsTrace.OpenRecordset("TRACE", dbOpenTable)

错误出现在最后一行。此代码直接取自 msdn.microsoft 网站,然后修改为包含我的表名...

想法?

【问题讨论】:

  • dbOpenTable 更改为dbOpenDynaset
  • 必须添加(“TRACE”,dbOpenDynaset,dbSeeChanges)。因为我的表是到 SQL Server 表的连接。只是好奇,为什么 dbOpenTable 不起作用但 dbOpenDynaset 起作用?有什么区别
  • 我认为dbOpenTable 仅适用于本地表。

标签: ms-access vba runtime-error dao


【解决方案1】:

如果您只需要只读记录集中的表,只需使用 dbOpenSnapshot,这将为您提供当时不可编辑的记录集副本。

【讨论】:

    【解决方案2】:

    必须将 dbOpenTable 更改为 dbOpenDynaset。感谢 Kostas K. in cmets。

    注意:由于我使用的是 sql server 表连接,因此还必须添加 dbSeeChanges 选项。

    【讨论】:

      猜你喜欢
      • 2013-09-17
      • 2017-04-04
      • 2018-05-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      • 2015-10-25
      • 2013-06-16
      相关资源
      最近更新 更多