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位驱动程序)。
答
那么,问题依然存在于Access 2010/Win7上。但我通过在运行Open方法之前指定光标位置来修复它:
rs.CursorLocation = adUseClient
rs.Open "SELECT * FROM device", cn, adOpenStatic, adLockReadOnly
只是为了微笑,尝试将'rs'作为它自己的'暗'。我只是运行我的代码版本而没有问题(除了我有Office 2010,SQL Server 2012,Vista,因此使用{SQL Server}作为我的驱动程序)。几年前,我看到随着Dim的组合,如果不同类型的随机问题。并得问:你在Form_Load事件中的代码? –
是的代码是在表单加载。实际上,在我运行的代码中,Dims是分开的。我缩短了在这里张贴。我也在Windows 7中的Access 2010上运行了很多ADO,没有任何问题。我还不是Access 2013的粉丝。 – HK1
你可以试试不同的工作站和/或修改连接字符串以使用不同的驱动程序吗?我发现一个链接提到“配置错误的系统文件”,这听起来像是一种可能性,但从来没有信任他们的“下载解决方案”: http://www.wiki-errors.com/err.php?wiki=3265 –