-1
我試圖顯示當前在我的Access數據庫上的所有用戶。我正在使用我在網上找到的VBA代碼,並試圖根據需要對其進行修改。我試圖讓所有可用的用戶在名爲「ListUsers」的表單上的列表框中顯示。在Access數據庫上顯示用戶
該代碼能夠輸出到調試窗口,但我無法更新我的列表框。我得到以下錯誤:「運行時錯誤'6014':RowSourceType屬性必須設置爲'值列表'以使用此方法。」我查看了該列表框的屬性窗口,並找不到與RowSourceType相關的任何內容。我在網上嘗試了一些不同的建議,但我仍然無法更新列表框,所以我想看看這裏有沒有人可能有一些想法。我的代碼如下,我將VBA代碼放在一個按鈕上。
Option Compare Database
Option Explicit
Private Sub cmd_Users_Click()
Dim cn As New ADODB.Connection
Dim rs As New ADODB.recordset
Dim i, j As Long
Set cn = CurrentProject.Connection
' The user roster is exposed as a provider-specific schema rowset
' in the Jet 4.0 OLE DB provider. You have to use a GUID to
' reference the schema, as provider-specific schemas are not
' listed in ADO's type library for schema rowsets
Set rs = cn.OpenSchema(adSchemaProviderSpecific, _
, "{947bb102-5d43-11d1-bdbf-00c04fb92675}")
'Output the list of all users in the current database.
Debug.Print rs.Fields(0).Name, "", rs.Fields(1).Name, _
"", rs.Fields(2).Name, rs.Fields(3).Name
While Not rs.EOF
Debug.Print rs.Fields(0), rs.Fields(1), _
rs.Fields(2), rs.Fields(3)
ListUsers.AddItem "'" & rs.Fields(0) & "-" & rs.Fields(1) & "'"
rs.MoveNext
Wend
End Sub
該解決方案直接從Microsoft支持文章(HTTPS來了: //support.microsoft.com/en-us/kb/285822),它工作正常。請澄清您的實際問題並提供與THAT問題相關的代碼片段。最好的問候, –
關鍵在於「修改它以滿足我的需求」。我知道微軟的代碼工作,但我想將信息輸出到我的表單上的列表框。你甚至讀過這個問題嗎? @AlexBell – lunar8nrg
您的問題的標題應直接與您正在嘗試解決的實際問題相關,這似乎與標題中所述的問題有所不同,並且在您自己的答案中提到(在哪裏是按鈕點擊事件和列表框在你發佈的代碼片段?)。問候, –