AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.04.2008, 12:02   #11  
Технологии как Искусство is offline
Технологии как Искусство
Участник
 
37 / 10 (1) +
Регистрация: 04.02.2008
Цитата:
Сообщение от smoyk Посмотреть сообщение
Интересно Я у randrews спрашивал как это делается, но он промолчал((
Например, так:
в новом файле экселя запускаем импорт внешних данных (Данные-Импорт внешних данных-Импортировать данные...)
На выходе получаем на листе объект 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
Запускаем макрос, получаем данные. Вместо ХП в переменную strSQL можно написать какой-нибудь свой запрос.
 

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 10:02.