目標:我有一大堆的日期,我想按類別更新最小日期的記錄:VBA迭代VS SQL速度在Access
JVID APDATE TAG into > JVID APDATE TAG
1 201501 Use 1 201501 Don't Use
1 201502 Use 1 201502 Use
1 201502 Use 1 201502 Use
1 201503 Use 1 201503 Use
2 201502 Use 2 201502 Don't Use
2 201503 Use 2 201503 Use
我使用的方法如下: 我創建了一個字典,其中Key = ID和Value = MinDateByID 然後我循環遍歷鍵(對於字典中的每個鍵),併爲每個檢查更新使用/不使用的IIF語句的ID運行更新查詢。與最短日期匹配的日期。
這是有效的,但有w + + 80k ID覆蓋+ 1M記錄它需要永遠。
我正在考慮運行相同的東西,但傾銷SQL,只是遍歷記錄,但我無法想象會更快?
我正在尋找SQL或VBA建議。
預先感謝您!
編輯 - 添加SQL從評論 UPDATE [FY16 Q12 BE] SET [FY16 Q12 BE].[Record Use] = IIF([FY16 Q12 BE].[Date] = "201601", "Use", "Don't Use") WHERE ([FY16 Q12 BE].[ID]="20165645699");
我期待通過每個字典鍵/值對恩(20165645699,201601) 創建和以各種形式運行此腳本80K +倍
這是SQL做得很好的事情,但我不太明白你想做什麼。你想在每個ID的最早的日期有一個「使用」,或者什麼? – grahamj42
@ grahmaj42是的,我想在最早的日期使用「Use」,有時最早的日期也會重複多次,所有這些項目都應該標記爲使用。我認爲這是一個相當清晰的SQL應用程序,但是我的腳本非常慢 - 幾個小時,仍然沒有完成。 – Schalton
你認爲哪些SQL可以「永遠佔用」? – dbmitch