如何在Access VBA中按名称调用查询

时间:2017-12-08 07:45:59

标签: access-vba

我知道可以通过名称调用查询,如下所示:

DoCmd.OpenQuery "yourQueryName", acViewNormal, acEdit

OR

CurrentDb.OpenRecordset("yourQueryName")

但是可以用Excel中的Sheets这样的数字来调用它们吗? 类似的东西:

CurrentDb.OpenRecordset Queries(1)

或其他任何可能的方式?
注意:我想这样做是因为我的查询是日文的,我想避免在VBA中阅读它们的困难方法。

1 个答案:

答案 0 :(得分:1)

您当然可以使用QueryDefs集合执行查询。但是,按位置引用它们是一件危险的事情,因为这个位置可能会改变,你可能会打开错误的查询。

为此,您可以使用CurrentDb.QueryDefs(1).OpenRecordset

请注意,Access还可以为QueryDefs集合提供临时/内部查询。他们的名字以~开头,在大型数据库中通常有很多。

(在我的常规开发数据库中,第一个真正的查询当前是QueryDefs(20)