[英]Unable to open Linked Access 2003 table to MS SQL Server in VBA code
我在Access 2003中有一个链接到MS SQL Server表的表。 我能够进入Access表,手动对其进行更新,并查看反映在MS Sql服务器表中的更改。
但是,我什至无法打开表并将结果放入VBA代码中的记录集中。
Set rs = CurrentDb.OpenRecordset("dbo_tbl_EventLogs", dbOpenTable)
(rs总是一无是处)
相同的代码行适用于“本地” Access表。
考虑使用dbOpenDynaset
选项,该选项默认用于链接表或存储的查询,而dbOpenTable
用于本地表,如OpenRecordset()方法所述:
如果在Microsoft Access工作区中打开记录集,但未指定类型,则OpenRecordset会创建表类型的Recordset(如果可能)。 如果指定链接表或查询,则OpenRecordset会创建动态集类型的Recordset。
Set rs = CurrentDb.OpenRecordset("dbo_tbl_EventLogs", dbOpenDynaset)
您需要使用ADO连接到数据库。 很简单。 只需更改您的信息即可享受。
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
ServerName = "yourServer,yourPort(example: 1442)" 'Enter your server name and a port here
DatabaseName = "yourDBinTheServer" 'Enter your database name here
UserID = "yourUserID" 'Enter your user ID here
Password = "yourPassword" 'Enter your password here
Set rs = New ADODB.Recordset
Set cn = New ADODB.Connection
cn.Open "Driver={SQL Server};Server=" & ServerName & ";Database=" & DatabaseName & ";Uid=" & UserID & ";Pwd=" & Password & ";"
rs.open yourQueryAsString, cn
确保存储用于连接数据库的用户凭据...(属性dbAttachSavePWD)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.