我有一个从listbox rowsource运行的非常复杂的查询。我只是做一个listbox1.requery,它填充了列表框。
而不是这样做,我想:
谢谢!
答案 0 :(得分:3)
另一个解决方案是在记录集中打开查询,然后将列表框控件的记录集属性设置为它。我有自己的功能(我主要用于组合框)。如果需要,可以在要从其他数据库打开记录集时向子组添加额外的“连接”参数。
Public Sub addQueryToCombobox(x_query As String, x_control As Control)
Dim rs As ADODB.Recordset
On Error GoTo ERREUR
Set rs = New ADODB.Recordset
Set rs.ActiveConnection = CurrentProject.AccessConnection
rs.CursorType = adOpenStatic
rs.LockType = adLockReadOnly
rs.CursorLocation = adUseClient
rs.Open x_Query
Set rs.ActiveConnection = Nothing
Set x_control.Recordset = rs
Set rs = Nothing
On Error GoTo 0
Exit Sub
ERREUR:
'add here your own error manager'
End Sub
答案 1 :(得分:1)
我认为你的前3个项目是通过对你的另一个问题的答案来解决的:
ms-access save query result in a string
对于此问题中的第四项,将列表框Row Source Type设置为“Value List”并将字符串写入其Row Source属性。
答案 2 :(得分:0)
您可以将列表框的rowsource设置为您的查询。