![]() |
#11 |
Участник
|
Например, так:
в новом файле экселя запускаем импорт внешних данных (Данные-Импорт внешних данных-Импортировать данные...) На выходе получаем на листе объект QueryTable. Он нам и понадобится. Далее, допустим, надо построить отчет, на вход которого подается дата (например, товарные остатки на дату). Дата будет в ячейке $A$1 Тогда пишем следующий макрос и привязываем его к какой-нибудь кнопке на листе: Код: Dim dtmReport As Date Dim strSQL As String dtmReport = Range("$A$1").Value strSQL = "EXECUTE dbo.Proc_Get_Inventory " & "'" & Year(dtmReport) _ & "-" & Month(dtmReport) & "-" & Day(dtmReport) & "'" Range("D14").Select With Selection.QueryTable .RefreshStyle = xlInsertDeleteCells .Connection = Array(Array( _ "ODBC;Description=Navision;DRIVER=SQL Server;SERVER=192.168.1.1;UID=ВАШ ЛОГИН;;APP=Microsoft Data Access Components;WSID=MYWORKSTATION" _ ), Array("OV;DATABASE=MYCOMPANY")) .CommandText = Array(strSQL) .Refresh BackgroundQuery:=False End With |
|