在 OpenRecordset SQL中运行查询的一个限制是,每次运行该查询时必须重新编译它。 如果经常使用此查询,则可以通过先使用相同的 SQL 语句创建存储查询,然后针对查询打开 Recordset 对象来提高性能,如下面的代码示例所示。
Dim dbsNorthwind As DAO.Database
Dim rstSalesReps As DAO.Recordset
Dim qdfSalesReps As DAO.QueryDef
Set dbsNorthwind = CurrentDb
Set qdfSalesReps = dbsNorthwind.CreateQueryDef("SalesRepQuery")
qdfSalesReps.SQL = "Select * FROM Employees Where Title = " & _
"'Sales Representative'"
Set rstSalesReps = dbsNorthwind.OpenRecordset("SalesRepQuery")