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

Microsoft Access: Different Queries Based On Input

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

如果可能的话,我不介意手动填写下拉列表然后添加比较代码。执行此操作的最佳方法是什么?

您可以使用以下查询填充组合框或可能更好的列表框。 这将列出所有以 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

这将以只读视图打开查询。