ms-access:而不是rowsource,从查询运行

时间:2009-09-02 18:51:28

标签: sql mysql ms-access vba

我有一个从listbox rowsource运行的非常复杂的查询。我只是做一个listbox1.requery,它填充了列表框。

而不是这样做,我想:

  1. 我只想在查询部分保存查询
  2. 从那里打电话。
  3. 然后我想将查询结果保存到字符串
  4. 然后我想将字符串送入列表框
  5. 你能帮我解决这四个问题的代码吗?

    谢谢!

3 个答案:

答案 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设置为您的查询。