我有一个通过 ADODB 连接到 SQL 数据库的访问数据库。访问表视图的记录集是通过以下方法中的记录集属性设置的。该方法是从 Form_Load 函数中调用的,用于查看它的表单。通过主表单上的选项卡访问该表单。
不幸的是,记录集似乎没有在机器之间正确更新。在一台机器(Access 2010)上它可以正常加载。在第二个(Access 2010)上,它仅将第一行加载为 Name?。有时,如果我自己打开表单,然后打开选项卡,我可以让它加载到第二台机器上。
任何帮助,将不胜感激。提前致谢!
Function LoadTblEmployeesADOtoForm()
Dim sqlStr As String
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim p As ADODB.Property
Const ConnStr = "PROVIDER=SQLOLEDB;Server=SERVER;Database=DB;User ID=ID;Password=PWD;"
Set cn = New ADODB.Connection
cn.Open ConnStr
Set rs = New ADODB.Recordset
With rs
.CursorLocation = adUseClient
.CursorType = adOpenKeyset
.LockType = adLockPessimistic
'SELECT
sqlStr = "SELECT * FROM tblEmployees ORDER BY NetworkID"
Debug.Print sqlStr
.Source = sqlStr
Set .ActiveConnection = cn
.Properties("Preserve on Abort") = True
.Properties("Preserve on Commit") = True
End With
'cn.BeginTrans
rs.Open
Debug.Print rs.RecordCount
Dim temp As Integer
Set Form_frmManagetblEmployees.Recordset = rs
cn.Close
Set rs = Nothing
End Function