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ステートメントで型の不一致エラーが発生しました。何か問題を教えてください。行のArrayを使用せずにSQLでmysqlに接続する際にタイプミスマッチエラーが発生しました。
あなたは、MySQLから直接それを実行することはできますか? – NoChance
はい、私は結果をmysqlで実行した後に得ることができます –