2015-06-09 1 views
2

У меня есть SQL длинный Access запрос:Использование долго Access SQL-запрос в Excel VBA

SELECT Avg(Data_transmission.Forward_app_throughput) AS AvgOfForward_app_throughput 

FROM (Data_transmission LEFT JOIN Data_task_statistics ON Data_transmission.Record_index = Data_task_statistics.Record_index) LEFT JOIN Bin_data ON Data_transmission.Record_index = Bin_data.Record_index 

WHERE (((Data_task_statistics.Task_type_ID)=4) AND ((Data_task_statistics.Received_Application_byte)>50000) AND ((([Data_transmission].[Forward_app_throughput]))>-1) AND ((Bin_data.Protocol_id)=61)); 

Я пытаюсь использовать его в Excel VBA, но я единственный способ, которым я сумел сделать это, используя «Получить данные из Microsoft Query» функция в Excel, которая производит эту строку

CommandText = Array(_ 
     "SELECT Avg(Data_transmission.Forward_app_throughput) AS AvgOfForward_app_throughput" & Chr(13) & "" & Chr(10) & "FROM (Data_transmission LEFT JOIN Data_task_statistics ON Data_transmission.Record_index = Data_task_statistics.Rec" _ 
     , _ 
     "ord_index) LEFT JOIN Bin_data ON Data_transmission.Record_index = Bin_data.Record_index" & Chr(13) & "" & Chr(10) & "WHERE (((Data_task_statistics.Task_type_ID)=4) AND ((Data_task_statistics.Received_Application_byte)>50000) AND" _ 
     , _ 
     " ((([Data_transmission].[Forward_app_throughput]))>-1) AND ((Bin_data.Protocol_id)=61));" & Chr(13) & "" & Chr(10) & "" _ 
     ) 

Как я могу получить эту строку без использования «Получить данные из Microsoft Query» функция, потому что это занимает много времени, и у меня есть несколько запросов

+0

Вы спрашиваете, как запросить базу данных с помощью sql из VBA или есть ли какая-то другая проблема? – ChipsLetten

+0

Я знаю, как это сделать, я спрашиваю, как разделить длинный SQL-запрос выше, который будет использоваться в качестве массива для CommandText. – amamdouh

+0

Зачем вам это нужно как массив? Разве это не просто строка SQL? – ChipsLetten

ответ

0

Добавление ответа на основе моего комментария. Не пытайтесь использовать массив с CommandText, просто передайте ему строку SQL.

Смежные вопросы