pap*_*ear 7 ms-access vba ms-office
看来 Microsoft 在 2206 版本中引入了重大更改!:-(
如果你有类似的代码
Dim rs as DAO.Recordset2
Dim fld as DAO.Field2
For Each fld in rs.Fields '<- Code will break here, because Fields suddenly return Field3
...
Next
Run Code Online (Sandbox Code Playgroud)
这是一场噩梦!我可以确认恢复到版本 2205 可以解决该问题。
我的问题:
谢谢你的帮助!
来自微软:
\n\n\n目前最简单的解决方法是将类型声明更改
\nDAO.Field2为DAO.Field.
\n\n添加了 Field2 以支持多值字段的属性,添加了 Field3 以支持小数类型的 Precision 和 Scale 属性。(您\xe2\x80\x99会注意到,出于类似的原因,浏览器中还有一个Recordset2对象)。
\n如果您声明为 \xe2\x80\x98Field\xe2\x80\x99,则您不会\xe2\x80\x99 获得扩展属性的智能感知,但您仍然可以访问代码中的所有属性。
\n
\n\n当我们更新接口时,我们不能\xe2\x80\x99更新现有接口,但必须扩展现有接口。\n我们正在研究是否可以改善人们显式声明变量的情况下的向后兼容性问题是 Field2 类型,而不仅仅是 Field。
\n