0
我有多個查詢,我試圖用來建立一個報告。我在做的方式是使用臨時表。在我構建它時,我注意到報告運行需要相當長的一段時間,因爲我爲每條記錄使用了2個條件。使用查詢訪問報告?
所以基本上我在做什麼是填充臨時表2倍的值
CompanyID |單價
現在我每個CompanyID做使用DLookup開始盤點一下,這是我的代碼...
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值,然後過濾而不是查看它們並篩選每條記錄?
從另一個臨時表開始填充qryBegInv的結果,以便您不重新創建每個循環迭代的結果集。 – nicomp
@nicomp這是正確的 - 我只是openqry,將它追加到一個臨時表,並且每次查看錶而不是qry(這將節省大量時間)。如果您想回答問題而不是留下評論,我會將其標記爲完整。 – barry17
完成。非常感謝。與Access玩得開心。 – nicomp