【发布时间】:2009-09-02 18:51:27
【问题描述】:
我有一个从列表框行源运行的非常复杂的查询。我只是做一个 listbox1.requery 并填充列表框。
我不想这样做,而是:
- 我只想将查询保存在查询部分中
- 从那里调用它。
- 然后我想将查询结果保存到字符串中
- 然后我想将字符串输入列表框
你能帮我写出这四个问题的代码吗?
谢谢!
【问题讨论】:
我有一个从列表框行源运行的非常复杂的查询。我只是做一个 listbox1.requery 并填充列表框。
我不想这样做,而是:
你能帮我写出这四个问题的代码吗?
谢谢!
【问题讨论】:
另一种解决方案是在记录集中打开查询,然后将列表框控件的 记录集 属性设置为它。我有我自己的功能(我主要将它用于组合框)。如有必要,当您想从另一个数据库打开记录集时,可以向 sub 添加额外的“连接”参数。
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
【讨论】:
我认为您的前 3 个项目已通过对您的另一个问题的回答得到解决:
ms-access save query result in a string
至于本题的第四项,将列表框的 Row Source Type 设置为“Value List”,并将字符串写入其 Row Source 属性。
【讨论】:
您可以将列表框的行源设置为您的查询。
【讨论】: