ошибка несоответствия типов в SQL при подключении к MySQL из Excel VBA - PullRequest
0 голосов
/ 25 марта 2012
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

Я могу подключиться запустить SQL в MySQL. Но когда я помещаю в VBA код, как указано выше, Я получил ошибку несоответствия типов в операторе sql, пожалуйста, помогите и скажите, что не так?

Ответы [ 2 ]

2 голосов
/ 25 марта 2012

Попробуйте без использования Array в строке для:

.CommandText = Array( _
    "SELECT ..." _
    )
0 голосов
/ 26 марта 2012

Я думаю, вам нужна следующая строка вместе с другими свойствами QueryTable:

.CommandType = xlCmdSql
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...