2

通过 Excel VBA 连接到 SQL Management Studio 后,我有以下代码(部分代码)从 SQL 表中提取数据。

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

1 回答 1

4

记录集包含您查询的数据,因此这是您期望发生的。由于您使用.Openand .ActiveConnection,我假设您使用 ADO: 在这种情况下,您可以从记录集对象的Fields集合中获取字段名称:

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

这将在您的Sheet1.

于 2013-03-19T14:41:50.293 回答