Sub connectmysqlnormal()
Dim objListObj As ListObject
For Each objListObj In ActiveSheet.ListObjects
objListObj.Delete
Next
ActiveSheet.Cells.Select
Selection.ClearContents
With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _
"ODBC;DSN=localtest;", Destination:=Range("$A$1")).QueryTable
.CommandText = Array( _
"SELECT cpu_avg_statistics_0.LOGDATE as 'Date of Month', cpu_avg_statistics_0.CPU as 'CPU Utilization %' FROM test.cpu_avg_statistics cpu_avg_statistics_0 WHERE (cpu_avg_statistics_0.LOGDATE between '2012-02-01' and '2012-02-05') AND (cpu_avg_statistics_0.SERVER_NAME='adm1') ORDER BY cpu_avg_statistics_0.LOGDATE" _
)
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.ListObject.DisplayName = "Table_Query_from_localtest"
.Refresh BackgroundQuery:=False
End With
End Sub
我可以在mysql中连接运行sql。但是当我像上面那样放入vba代码时, 我在 sql 语句中遇到类型不匹配错误,请帮忙告诉我出了什么问题?
最佳答案
尝试在以下行中不使用数组:
.CommandText = Array( _
"SELECT ..." _
)
关于mysql - 从excel vba连接到mysql时sql中的类型不匹配错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9862144/