Microsoft Access:基于输入的不同查询

时间:2018-07-18 01:55:24

标签: sql forms ms-access interactive

我想创建一个包含查询下拉列表的表单,然后创建一个按钮,当我按下该按钮时,它将运行从该下拉列表中选择的查询。

如果可以的话,我不介意手动填写下拉菜单,然后添加比较代码。最好的方法是什么?

1 个答案:

答案 0 :(得分:2)

您可以使用以下查询来填充组合或可能更好的列表框。 这将列出所有以qryRep ...开头的查询,并将它们显示为Rep ...

SELECT MsysObjects.Name, Mid([Name],4) AS QueryName
FROM MsysObjects
WHERE (((Left([Name],6))="qryRep"))
ORDER BY MsysObjects.Name;

通过将显示限制为命名组,您不会在数据库中列出每个查询。

要从列表框的双击事件中运行查询-假设它名为lstQueries;

 Private Sub lstQueries_DblClick(Cancel As Integer)

        Dim txtQueryName     As String

        txtQueryName = Me.lstQueries
        DoCmd.OpenQuery txtQueryName , acViewNormal, acReadOnly
 End sub

这将在只读视图中打开查询。