从选定的列表框中显示访问子表单中的查询

时间:2013-04-04 18:22:33

标签: vba ms-access ms-access-2010

在Access 2010中,我尝试让表单在子表单QueriesSubForm中显示一个查询,当从列表框QueryListBox中选中时,然后单击按钮runbtn。它应该在链接的子窗体中显示查询,并在从列表框中选择的其他选项再次执行此步骤时更改,然后单击按钮。

目前我只能让它工作,如果我希望它在新的任务窗口中显示查询,当编程时如此:

QueriesListBox Listbox - SQL View

SELECT MSysObjects.[Name]
FROM MSysObjects
WHERE (((MSysObjects.[Type])=5) AND ((Left([Name],1))<>"~"))
ORDER BY MSysObjects.[Name];

runbtn按钮 - VBA视图

Private Sub runbtn_Click()
DoCmd.OpenQuery QueryListBox, acViewNormal
End Sub

它可以工作,似乎只是打开查询列表中的一个查询并显示给我,这是我不想要的。

这可能是一件容易的事情,但是我无法看到它是如何使用SQL,VBA或Macro完成的,我猜这需要它才能工作

1 个答案:

答案 0 :(得分:2)

好的,这是一种方法。首先确保您的子表单没有设置源对象。然后设置按钮点击如下:

Private Sub runbtn_Click()
    Me.QueriesSubForm.SourceObject = "Query." & QueryListBox.Value
End Sub

那应该可以得到你正在寻找的结果。或者,如果您希望打开表单并在打开时显示某个查询,则可以将子表单的源对象设置为该查询。使用属性窗口查找源对象下拉列表,并在窗体打开时查找要显示的查询。