Office365 VBA的Recordsetclone提示输入数据源

时间:2016-03-18 23:02:43

标签: vba ms-access access-vba office365

我维护了几年前Office 2010(32位)成为标准时构建的Access数据库。我们最近升级到Office 365(也是32位)。此数据库非常依赖于使用Me.Recordsetclone来执行操作。例如:

Private Sub Form_Unload(Cancel As Integer)
    Dim rst As ADODB.Recordset
    Set rst = Me.RecordsetClone
    'Do stuff
End Sub

现在已升级Office,当代码调用Me.RecordSetClone时,将显示“选择数据源”对话框。当我在运行2010的RDP上尝试相同的代码时,它正常工作。基于此,我在网上找不到什么,我认为这是一个库转换/版本问题。

我能想到的唯一解决方法是让用户并排运行两个版本并来回切换。但这将是一个维护问题。任何人都可以提出更好的选择吗?

enter image description here

2 个答案:

答案 0 :(得分:1)

我从未见过ADO用于此,只有DAO:

Private Sub Form_Unload(Cancel As Integer)
    Dim rst As DAO.Recordset
    Set rst = Me.RecordsetClone
    'Do stuff
End Sub

答案 1 :(得分:0)

我遇到了同样的问题,并且似乎已通过将记录集克隆引用从以下位置更改而得到纠正

Me.*Subform*.Form.RecordsetClone

到以下

Set Rst = Forms!*Mainform*.Form!*Subform*.Form.Recordset.Clone

我希望这会有所帮助。