通过查询访问报告?

时间:2016-01-15 15:02:38

标签: vba ms-access report

我有多个查询,我试图用来构建报告。我正在做的方法是使用临时表。在我构建它时,我注意到报告运行需要相当长的时间,因为我对每条记录使用了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然后过滤而不是查找它们并过滤每条记录?

1 个答案:

答案 0 :(得分:1)

从另一个填充了qryBegInv结果的临时表开始,这样你就不会在每次循环迭代中重新创建结果集。