我知道可以通过名称调用查询,如下所示:
DoCmd.OpenQuery "yourQueryName", acViewNormal, acEdit
OR
CurrentDb.OpenRecordset("yourQueryName")
但是可以用Excel中的Sheets这样的数字来调用它们吗? 类似的东西:
CurrentDb.OpenRecordset Queries(1)
或其他任何可能的方式?
注意:我想这样做是因为我的查询是日文的,我想避免在VBA中阅读它们的困难方法。
答案 0 :(得分:1)
您当然可以使用QueryDefs
集合执行查询。但是,按位置引用它们是一件危险的事情,因为这个位置可能会改变,你可能会打开错误的查询。
为此,您可以使用CurrentDb.QueryDefs(1).OpenRecordset
请注意,Access还可以为QueryDefs
集合提供临时/内部查询。他们的名字以~
开头,在大型数据库中通常有很多。
(在我的常规开发数据库中,第一个真正的查询当前是QueryDefs(20)
)