我想我有一個相當簡單的問題來回答。下面的代碼完全按照原樣工作,最終結果是從Access數據庫中填充了我的用戶窗體的組合框中的2個字段數據。我仍然有幾個組合框來填充訪問數據。我正在尋找一種方法來循環訪問單個記錄集中的多個SQL語句,而不需要爲每個SQL查詢創建一個新的記錄集。一如既往,非常感謝。VBA - 循環多個記錄集
Const conStrAccess As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data
Source=C:\Users\Andy\Desktop\Database\IATC.accdb;Persist Security
Info=False;"
Const providerSQL As String = "SELECT DISTINCT [Provider Name] FROM
tblProvider ORDER BY [Provider Name];"
Const employeeSQL As String = "SELECT DISTINCT [Employee Name] FROM
tblEmployee ORDER BY [Employee Name];"
Dim aConn As ADODB.Connection
Dim providerData As ADODB.Recordset
Dim employeeData As ADODB.Recordset
Set aConn = New ADODB.Connection
Set providerData = New ADODB.Recordset
Set employeeData = New ADODB.Recordset
aConn.ConnectionString = conStrAccess
aConn.Open
aConn.ConnectionString = conStrAccess
aConn.Open
providerData.Open providerSQL, aConn, adOpenStatic, adLockReadOnly
providerData.MoveFirst
With Me.cbxProvider
.Clear
Do
.AddItem providerData![Provider Name]
providerData.MoveNext
Loop Until providerData.EOF
End With
employeeData.Open employeeSQL, aConn, adOpenStatic, adLockReadOnly
employeeData.MoveFirst
With Me.cbxEmployee
.Clear
Do
.AddItem employeeData![Employee Name]
employeeData.MoveNext
Loop Until employeeData.EOF
End With
似乎是在你的代碼一個錯字... _aConn.Open_和前面的行有兩次 – jsotola
您必須使用兩個記錄集,因爲您有兩個表(兩個數據源)......您是否有任何方法將兩個記錄集合成一個sql查詢? – jsotola