我有一個帶有列日期,類型,值的查詢輸出。我需要將所有不同的日期收集到一個變量中,以便稍後可以爲每個唯一的DATE創建一個CSV文件。 我試圖創建一個記錄集,因此分配DATE的值給變量:無法將查詢中的值分配給Access中的數組變量
Sub GetDates()
Dim rst As Recordset
Dim db As Database
Dim arrDates As Variant
Set db = CurrentDb
Set rst = db.OpenRecordset("SELECT Date FROM OUTPUT GROUP BY DATE; ")
arrDates = rst.GetRows()
但是當我做:
For Each Item In arrDates
Debug.Print (Item)
Next
我只得到一個日期印刷(11/01/2012)。如果我在Access中運行查詢,我會看到所有15個月。
爲什麼不使用記錄集,這可能是DAO(但你應該指定)例如'Do While Not rs.EOF ... Loop'? – Fionnuala
'GetRows()'獲取一行,除非您告訴它獲取不同數量的行。詳細信息請參閱幫助主題。 – HansUp
我也會在這裏使用'SELECT DISTINCT Date FROM OUTPUT',因爲您是按所有輸出列進行分組的,而且您沒有應用任何聚合函數。這樣做似乎更自然。 –