Access 2013错误绑定到ADO Recordset

问题描述:

我试图使用“Microsoft ActiveX Data Objects 2.8 Library”将连续窗体绑定到ADO Recordset。我收到以下错误,当我试图记录绑定到我的表格:Access 2013错误绑定到ADO Recordset

3265 Item cannot be found in the collection 
corresponding to the requested name or ordinal. 

这里是我的代码:

Dim cn As New ADODB.Connection, rs As New ADODB.Recordset 
cn.ConnectionString = "Driver={MySQL ODBC 5.2 ANSI Driver};" & _ 
    "Server=redacted;Database=redacted;" & _ 
    "User=redacted;Password=redacted;" 
cn.Open 
rs.Open "SELECT * FROM device", cn, adOpenStatic, adLockReadOnly 
'I can debug.print records and fields right here 
Set Me.Recordset = rs 'Error happens here 
cn.Close 
Set cn = Nothing 

我使用Office 2013的32位在Windows 8.1中使用64位MySQL 32位ODBC驱动程序(无法从32位应用程序调用64位驱动程序)。

+0

只是为了微笑,尝试将'rs'作为它自己的'暗'。我只是运行我的代码版本而没有问题(除了我有Office 2010,SQL Server 2012,Vista,因此使用{SQL Server}作为我的驱动程序)。几年前,我看到随着Dim的组合,如果不同类型的随机问题。并得问:你在Form_Load事件中的代码? –

+0

是的代码是在表单加载。实际上,在我运行的代码中,Dims是分开的。我缩短了在这里张贴。我也在Windows 7中的Access 2010上运行了很多ADO,没有任何问题。我还不是Access 2013的粉丝。 – HK1

+0

你可以试试不同的工作站和/或修改连接字符串以使用不同的驱动程序吗?我发现一个链接提到“配置错误的系统文件”,这听起来像是一种可能性,但从来没有信任他们的“下载解决方案”: http://www.wiki-errors.com/err.php?wiki=3265 –

那么,问题依然存在于Access 2010/Win7上。但我通过在运行Open方法之前指定光标位置来修复它:

rs.CursorLocation = adUseClient 
rs.Open "SELECT * FROM device", cn, adOpenStatic, adLockReadOnly