powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Получение данных из MSSQL
8 сообщений из 8, страница 1 из 1
Получение данных из MSSQL
    #37037682
_serg_987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!


Начальство поставило "непрофильную задачу". Вытянуть данные из БД в ексель.
Писать для этого отдельное приложение не хочется.
Поковырявшись в екселе (у нас стоит корпоративная версия 2003) нашел в нем "импорт внешних данных".
В целом подходит, но сразу возникают вопросы: как передавать параметры и как делать where field in (value1, value2)
Т.е. необходимо выполнить примерно следующее:
exec sp1 @param1, @param2
select * from table1 join table2 on (...)
where field1 in (value1, value2, ...)
Где @param1, @param2 и value1, value2, ... - значения из определенных колонок

На ум приходит воспользоваться промежуточной таблицей, например вот так (но тут нужны знания VB, в котором я никак)
insert into temp_table(value) values(value1)
insert into temp_table(value) values(value2)
...

exec sp1 @param1, @param2
select * from table1 join table2 on (...)
join temp_table on ()

Если есть готовые реализации, поделитесь, плз
Заранее спасибо!
...
Рейтинг: 0 / 0
Получение данных из MSSQL
    #37037711
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самое простое - сделать экспорт средствами MSSQL
...
Рейтинг: 0 / 0
Получение данных из MSSQL
    #37037712
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProСамое простое - сделать экспорт средствами MSSQL
Имеется ввиду - мастер экспорта
...
Рейтинг: 0 / 0
Получение данных из MSSQL
    #37038161
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну или вот посмотрите на примерчик (обратите внимание на источники типа "DSN")
...
Рейтинг: 0 / 0
Получение данных из MSSQL
    #37038198
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreTMисточники типа "DSN"ТАК это еще не обзывали.
...
Рейтинг: 0 / 0
Получение данных из MSSQL
    #37038200
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_serg_987Поковырявшись в екселе (у нас стоит корпоративная версия 2003) нашел в нем "импорт внешних данных".
В целом подходит, но сразу возникают вопросы: как передавать параметры и как делать where field in (value1, value2)
Т.е. необходимо выполнить примерно следующее:
exec sp1 @param1, @param2
select * from table1 join table2 on (...)
where field1 in (value1, value2, ...)
Где @param1, @param2 и value1, value2, ... - значения из определенных колонокЗапускаешь визард импорта. На первом диалоге указываешь имя DSN. На этом же первом диалоге обязательно снимаешь галочку внизу окна - Эксель запустит MSQuery.
Переключаешь MSQuery с графического на текстовый режим. Вводишь свою длинную команду обязательно с жестко заданными параметрами. Получаешь результат на Экселевский лист. Сохраняешь книгу. Переключаешься в VBA и в консоли даешь команду:
Код: plaintext
? Activesheet.QueryTables( 1 ).CommandText
Должен увидеть свою большую SQL команду как одну строку.
Правишь эту строку заменяя константные параметры на знак вопроса. И сохраняешь ее обратно в Activesheet.QueryTables(1).CommandText.
Закрываешь VBA и запускаешь Refresh на полученной таблице. На каждый знак вопроса, Эксель потребует указать параметр или связать его с ячейкой.
Все.
Больше ни в коем случае не запускай на эту книгу визарды MSQuery! Оно не умеет правильно работать с переменными параметрами и велика вероятность что оно просто порушит книгу.
...
Рейтинг: 0 / 0
Получение данных из MSSQL
    #37038994
_serg_987
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTM, На основе Вашего примера все сделал.
Получилось.
Еще раз спасибо!
...
Рейтинг: 0 / 0
Получение данных из MSSQL
    #37040047
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlAndreTMисточники типа "DSN"ТАК это еще не обзывали.
Ну, захотелось... А как объяснить тему тому, кто "провайдером" считает продавца инет-канала?
Вот и делалось так для юзеров: "вот вам так-то обозванный тип исходных данных/источника, вот так вы должны данные получить..."
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Получение данных из MSSQL
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]