使用DAO记录集的MS Access错误
我试图创建一个空的DAO记录集rs2,其结构与现有记录集rs1(它有200多个字段)类似。但是当我使用ADO记录集时,我遇到了一个不会发生的错误:使用DAO记录集的MS Access错误
dim rs2 as recordset
With rs2.Fields
For Each fld In rs.Fields
.Append fld, adVariant
Next
End With
错误是错误的参数数量。
ADO允许您在某些情况下将字段添加到Recordset.Fields
集合中。这就是为什么ADO版本的代码无误地运行。
但是,DAO方法不能与Recordset
一起使用。相反,您必须在表中添加一个字段,或者将字段表达式添加到用作记录集数据源的查询中。
你好,谢谢你的回复。在那种情况下,有没有办法在记录集之间进行转换?我是指DAO到ADO? –
我不确定我是否理解这个问题。不可能创建DAO记录集对象,然后将其转换为ADO记录集。 – HansUp
我知道这个解决方案对性能不好,但是无论如何你都可以尝试一下。 首先,克隆记录:
Set rs2 = rs.clone
然后,如果你只需要结构,倒空:
Do until rs2.EOF
rs2.Delete
Loop
我想当你做rs2.delete时,rs中的记录实际上也被删除了,因为两者都只包含指向记录实际位置的指针 –
我不知道,但它可能如你所说。在这一点上,为什么不用SQL命令DoCmd.RunSQL(“SELECT * INTO RS2TABLE FROM RSTABLE WHERE FALSE”)创建一个新表,然后在新表上打开dao记录集? – kiks73
嗨,很好。但我正在寻找更简单的东西::))..感谢你回复... –
是否缺少一些代码?它看起来不像'rs2'被实例化。 – Mike