我有多个查询,我试图用来构建报告。我正在做的方法是使用临时表。在我构建它时,我注意到报告运行需要相当长的时间,因为我对每条记录使用了2个条件。
基本上我正在做的是用2个值填充临时表
CompanyID |单价
现在我做了什么DlookUp每个CompanyID的起始库存,这里是我的代码...
rs2.movefirst
with rs2
While Not .EOF
lngCompanyID = rs2("CompanyID")
lngUnitPrice = rs2("UnitPrice")
'GETTING BEGINNING INVENTORY VALUES
lngBegCount = Nz(DLookup("BegCount", "qryBegInv", "UnitPrice = " & lngUnitPrice & " AND CompanyID =" & CompanyID & ""), 0)
.Edit
rs2("BegInvCount") = lngBegCount
.Update
rs2.movenext
wend
End with
我看到的问题是我查找的qryBEGINV需要大约10-15秒才能加载,因此我有超过30条记录,运行报告需要几分钟。有没有办法让我更有效率?可能DLOOKUP值ONCE然后过滤而不是查找它们并过滤每条记录?
答案 0 :(得分:1)
从另一个填充了qryBegInv结果的临时表开始,这样你就不会在每次循环迭代中重新创建结果集。