我有一个Oracle数据库连接,可以将数据从数据库中提取到Excel中。我唯一的问题是我希望它被拉入表中,而不是仅仅将数据转储到表格中。我的数据透视表需要根据表更新进行刷新。这是我的示例代码。 QueryTables对象是否有一个属性将数据嵌入到表中?
With ActiveSheet.QueryTables.Add(Connection:=Array(connection),Destination:=Range("A1"))
.Sql = "SELECT * FROM TABLE"
.FieldNames = True
.Refresh BackgroundQuery:=False
End With
答案 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