2011-03-29 24 views
2

目前我有一個帶有組合框名稱列表的MS Access 2003表單。使用此工具的方法:從下拉列表中選擇一個名稱,然後單擊基於所選名稱運行(3個不同查詢)的MS Access宏,然後打開一個主Excel模板並運行一個Excel宏,該宏將創建1個每個銷售人員的個人文件。使用VBA循環訪問組合框列表併爲每個宏運行MS Access宏

我在做什麼:使用MS Access VBA代碼循環查看組合框中的名稱列表,然後運行現有的MS Access宏,從名稱列表中運行每個查詢,然後導出每個銷售將個人數據轉換爲已經格式化的excel模板或者僅轉換爲Excel文件,然後進行格式化。

我不想手動選擇每個名稱,從下拉菜單中選擇總共300多個名稱,運行所有這些查詢需要很長時間。我想要使​​用VBA代碼來遍歷表單上組合框中的每個名稱,並使用每個名稱來運行現有的ms訪問宏(它一起運行3個查詢),然後我想要將每個單獨文件導出到Excel 。最終的結果是每個銷售人員都將擁有自己的Excel文件。

+2

組合框中的名稱來自哪裏?如果來自查詢,你不能只是運行該查詢並遍歷記錄,爲每個記錄運行報告宏?你可以顯示任何代碼(並且可以修改表單中的代碼)嗎?最簡單的方法是循環訪問組合框中的條目,將列表選擇設置爲每個項目,然後運行報告宏。沒有更多的細節,很難提供更多的細節。 – 2011-03-29 20:38:15

回答

3
Dim i As Long 
    with myCombo 
    For i = 0 To .ListCount 
     Debug.Print .ItemData(i) 
    Next i 
end with