3

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

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

QueriesListBox 列表框 - SQL 视图

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 或宏完成的,我猜这需要它才能工作

4

1 回答 1

3

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

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

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

于 2013-04-04T21:22:24.167 回答