在expert's exchange和teck republic有一些關於使用combobox.recordset屬性在Access窗體中填充組合框的文獻。如何使用VBA填充具有Recordset的組合框
這些控件通常在控件的「rowsource」屬性中使用「SELECT *」字符串填充,引用可在應用程序客戶端上使用的表或查詢。當我需要在組合框中顯示服務器端數據時,我創建一個臨時本地表並導入請求的記錄。這很耗時,特別是大桌子。
能夠使用記錄集填充組合框控件將允許用戶直接顯示服務器端的數據。
由2個前面的例子啓發,我寫了一些代碼如下:
Dim rsPersonne as ADODB.recordset
Set rsPersonne = New ADODB.Recordset
Set rsPersonne.ActiveConnection = connexionActive
rsPersonne.CursorType = adOpenDynamic
rsPersonne.LockType = adLockPessimistic
rsPersonne.CursorLocation = adUseClient
rsPersonne.Open "SELECT id_Personne, nomPersonne FROM Tbl_Personne"
fc().Controls("id_Personne").Recordset = rsPersonne
其中:
- connexionActive:是我永久的ADO連接到我的數據庫服務器
- FC() :是我當前/活動表格
- 控件(「id_Personne」):是 組合框控件用於填充 公司的人員名單
- Access版本於2003年
不幸的是,這是行不通的!
在調試模式下,我能夠檢查記錄集是否已正確創建,具有所需的列和數據,並與組合框控件正確關聯。不幸的是,當我顯示錶單時,我總是收到一個空的組合框,沒有記錄!任何幫助,高度讚賞。
編輯:
此記錄財產的確是可用於特定的組合框對象,而不是標準的控制對象,我很驚訝地發現它在幾天前。 我已經嘗試過使用組合框的回調函數,或者用組合框的「addItem」方法填充列表。所有這些都很耗時。
不爲我工作:/有一個錯誤91:集團不存在 – 2013-04-25 13:51:19
如果你想建議你應該給出錯誤的代碼,並確定引發錯誤的行。 – 2013-04-26 08:40:15
錯誤的描述在這裏:http://stackoverflow.com/questions/16231456/how-to-populate-a-listbox-with-a-adodb-recordset-error-91 – 2013-04-26 11:23:05