将SQL数据嵌入Excel表

时间:2015-10-09 16:58:41

标签: sql vba excel-vba oracle11g excel

我有一个Oracle数据库连接,可以将数据从数据库中提取到Excel中。我唯一的问题是我希望它被拉入表中,而不是仅仅将数据转储到表格中。我的数据透视表需要根据表更新进行刷新。这是我的示例代码。 QueryTables对象是否有一个属性将数据嵌入到表中?

With ActiveSheet.QueryTables.Add(Connection:=Array(connection),Destination:=Range("A1"))

 .Sql = "SELECT * FROM TABLE"
 .FieldNames = True
 .Refresh BackgroundQuery:=False
End With

1 个答案:

答案 0 :(得分:1)

考虑在查询表中使用ListObject。下面是一个MySQL连接的例子。

Dim constr As String

constr = "ODBC;DRIVER={MySQL ODBC 5.3 Unicode Driver};server=localhost;_
          database=databasename;UID=username;PWD=password;"

With ActiveSheet.ListObjects.Add(SourceType:=0, _
          Source:=constr, _
          Destination:=Range("$A$1")).QueryTable

    .CommandText = "SELECT * FROM `Table`"
    .ListObject.DisplayName = "TableName"  
    .Refresh BackgroundQuery:=False
End With