我有一个通过ADODB连接到SQL数据库的访问数据库。访问表视图的记录集是通过以下方法中的recordset属性设置的。从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
答案 0 :(得分:2)
当表单用作子表单时,您不能参考:
Set Form_frmManagetblEmployees.Recordset = rs
但是,我将同时使用表单和子表单,所以:
Set Me.Recordset = rs