Ms access 尝试dbs.OpenRecordset时出现运行时错误3219

Ms access 尝试dbs.OpenRecordset时出现运行时错误3219,ms-access,vba,runtime-error,dao,Ms Access,Vba,Runtime Error,Dao,通常我使用ADODB记录集和数据库连接,但是由于ADO的一些限制,我第一次被要求使用DAO记录集。我正在尝试创建记录集,收到错误3219-操作无效 这是我所有的DAO数据库代码 Dim dbsTrace作为DAO.Database 将rsTrace设置为DAO.Recordset 设置dbsTrace=CurrentDb 设置rsTrace=dbsTrace.OpenRecordsetTRACE,dbOpenTable 错误在最后一行抛出。此代码直接取自msdn.microsoft网站,然后修改

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

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

Dim dbsTrace作为DAO.Database 将rsTrace设置为DAO.Recordset

设置dbsTrace=CurrentDb 设置rsTrace=dbsTrace.OpenRecordsetTRACE,dbOpenTable

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


想法?

必须将dbOpenTable更改为dbOpenDynaset。在评论中归功于Kostas K


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

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

将dbOpenTable更改为dbOpenDynaset。必须添加跟踪、dbOpenDynaset、dbSeeChanges。因为我的表是到SQL Server表的连接。只是好奇,为什么dbOpenTable不工作,而dbOpenDynaset工作?有什么区别?我认为dbOpenTable只适用于本地表。