我在Excel中使用vba和訪問數據庫。訪問數據庫是一個包含3列的表; OrderIDs是一列數字,表示特定項目的順序,OrderDescription是包含項目描述的列,Item#是對每個特定項目給出數字的列(如果項目是與另一個相同,它們都是相同的項目)。連接到數據庫的VBA二維數組
我需要在Excel中建立一個二維數組,使用VBA控制哪些物品是在哪些訂單中購買的。這些行將是訂單ID,列將是項目ID。此數組的元素將包含一個指示符(如True或「1」),指示此訂單包含某些項目。例如,如果訂單購買了物品ID 1,5和26,則第6行(代表訂單ID 6)在第1,5和26列中將具有「真」。該訂單的所有其他列將爲空白。
爲了做到這一點,我想我必須確定最大訂單數量(39)和最大項目數量(33)。這些信息在我可以使用.connection和.recordset連接到的數據庫中可用。某些訂單號和某些項目號可能不會顯示。
請注意,這可能是一個稀疏的數組(不是很多條目),因爲大多數訂單隻包含幾個項目。我們不關心客戶購買了多少物品,只是該物品是根據此訂單購買的。
我的問題是我該如何設置這個數組?我嘗試了一個循環,它會將訂單號的值分配給一個數組,然後將這些項的數字分配給一個數組,然後將數組的大小標註爲這些大小,但它不會工作。
有沒有辦法讓一個數組的元素返回一個True值(如果存在的話)?
感謝您的幫助
請問該返回元件,使得orderItemArray(1,24)=真,如果第24項是在訂單編號1? – 2010-12-13 00:22:43
我承認存在一個問題,那就是如果有缺失的物品,上面就會遺漏那個物品。但是,這很容易用項目編號表進行糾正。 – Fionnuala 2010-12-13 00:31:29
真棒我會試試看,謝謝。下一步是將該數組轉換爲一個同時出現的矩陣,將項目編號作爲行和項目編號讀取爲列,並將兩件事物一起進行比較。抱歉不斷問,但你知道制定策略嗎? – 2010-12-13 00:55:02