2013-03-19 80 views
2

通過Excel VBA連接到SQL Management Studio後,我有下面的代碼(IT部分)從SQL中的表中提取數據。將SQL表導出到Excel - 列名不導出,僅導出數據

With BalanceSheet 
    ' Assign the Connection object. 
    .ActiveConnection = cnPubs 
    ' Extract the required records. 
    .Open "select * from Analytics.dbo.BalSheetKeyLineItemsFinal" 
    Sheet1.Range("A13").CopyFromRecordset BalanceSheet 
    ' Tidy up 
    .Close 
End With 

然而,表中的列名不顯示。有什麼辦法可以讓我的數據導出到Excel時包含列名?

謝謝!

回答

4

一個記錄集包含您所查詢的數據,所以這是您期望發生的情況。由於您使用的.Open.ActiveConnection,我假設你使用ADO:在這種情況下,你可以從Recordset對象的集合Fields字段名稱:

For i = 0 to .Fields.Count - 1 
    Sheet1.Range("A12").Offset(, i) = .Fields(i).Name 
Next 

這將跨越12排寫字段標題你的Sheet1

+0

謝謝你,工作完美!我不太熟悉所有的ADO屬性,這絕對有幫助! – Kristina 2013-03-19 14:56:30