По работе часто приходится импортировать в Excel, информацию из Access файлов с абсолютно одинаковой структурой. Только сами данные и количество записей разные.
Импортировать нужно именно в Excel - пожалуйста не предлагайте создание отчетов непосредственно в Access.
Данные импортируются из нескольких таблиц одной Access БД - каждая таблица должна импортироваться в отдельный worksheet.
Q: Как сделать в Excel шаблон отчета, с возможностью "на лету" выбирать ODBC DSN из которого будут импортироваться данные?
Что то типа такого:
1. открыл шаблонную workbook в Excel
2. выбрал ODBC DSN по имени (scroll list?)
3. данные из БД закачались в Excel
4. сохранил шаблонный Excel workbook под новым именем и переслал другому человеку.
5. goto step 1
Как подменить ODBC DSN в Excel файле?
Правила форума
Пожалуйста, ознакомьтесь с правилами данного форума
Пожалуйста, ознакомьтесь с правилами данного форума
-
- Маньяк
- Сообщения: 2063
- Зарегистрирован: 07 июл 2008, 11:58
- Откуда: Россия
-
- Пользователь
- Сообщения: 54
- Зарегистрирован: 09 дек 2008, 15:38
Re: Как подменить ODBC DSN в Excel файле?
Можно рученками заполнить список источников данных и выбирать из него.
Или список постоянно меняется (дополняется)?
Или список постоянно меняется (дополняется)?
-
- Маньяк
- Сообщения: 2063
- Зарегистрирован: 07 июл 2008, 11:58
- Откуда: Россия
Re: Как подменить ODBC DSN в Excel файле?
ну да...иногда добавляется новый файл (и DSN соответственно), иногда приходит новый Access файл для уже существующего DSNpek писал(а):Можно рученками заполнить список источников данных и выбирать из него.
Или список постоянно меняется (дополняется)?
- Yury
- The L'ony
- Сообщения: 26202
- Зарегистрирован: 22 янв 2004, 13:48
- Откуда: Мирный -> Vancouver
- Контактная информация:
Re: Как подменить ODBC DSN в Excel файле?
я как-то в подобных целях использовал неэлегантное, но работавшее решение-
тупо менял имя нужного мне источника данных на использовавшееся в икселевском database query и жал кнопку refresh data
voila tout!
по хорошему можно было б и на vba формочку написать,
которая б меняла источник данных на выбранный из списка,
но было лениво
тупо менял имя нужного мне источника данных на использовавшееся в икселевском database query и жал кнопку refresh data
voila tout!
по хорошему можно было б и на vba формочку написать,
которая б меняла источник данных на выбранный из списка,
но было лениво
- Yury
- The L'ony
- Сообщения: 26202
- Зарегистрирован: 22 янв 2004, 13:48
- Откуда: Мирный -> Vancouver
- Контактная информация:
Re: Как подменить ODBC DSN в Excel файле?
несложно получить этот список вызвав odbc32.dll из кода формыpek писал(а):Можно рученками заполнить список источников данных и выбирать из него.
Или список постоянно меняется (дополняется)?
или скачать odbctool.dll, с ней еще проще
-
- Пользователь
- Сообщения: 54
- Зарегистрирован: 09 дек 2008, 15:38
Re: Как подменить ODBC DSN в Excel файле?
Но когда появляется еще одна аксессовская база, то все равно источник данных то приходиться ручонками добавлять.
- Yury
- The L'ony
- Сообщения: 26202
- Зарегистрирован: 22 янв 2004, 13:48
- Откуда: Мирный -> Vancouver
- Контактная информация:
Re: Как подменить ODBC DSN в Excel файле?
не обязательно ручонкамиpek писал(а):Но когда появляется еще одна аксессовская база, то все равно источник данных то приходиться ручонками добавлять.
можно, скажем, при запуске формы сканить содержимое определенной папки и если там появился новый mdb файл - автоматически генерить для него system dsn (используя ODBCCP32.DLL), ну и в список выбора добавлять, разумеется
хотя на самом деле DSN - это вообще лишний шаг
проще заливать данные напрямую из аксеса через ADODB соединение
(если только DSN не нужен еще для чего нибудь)
Последний раз редактировалось Yury 11 мар 2009, 16:01, всего редактировалось 1 раз.
-
- Пользователь
- Сообщения: 54
- Зарегистрирован: 09 дек 2008, 15:38
Re: Как подменить ODBC DSN в Excel файле?
В условии не сказано что все базы лежат в одной папке (одном компутере, одном сервере и т.п.) 

-
- Маньяк
- Сообщения: 2063
- Зарегистрирован: 07 июл 2008, 11:58
- Откуда: Россия
Re: Как подменить ODBC DSN в Excel файле?
Один ПК - разные папкиpek писал(а):В условии не сказано что все базы лежат в одной папке (одном компутере, одном сервере и т.п.)
-
- Маньяк
- Сообщения: 2063
- Зарегистрирован: 07 июл 2008, 11:58
- Откуда: Россия
Re: Как подменить ODBC DSN в Excel файле?
Вообщем то я так и делаюYury писал(а):я как-то в подобных целях использовал неэлегантное, но работавшее решение-
тупо менял имя нужного мне источника данных на использовавшееся в икселевском database query и жал кнопку refresh data
voila tout!
по хорошему можно было б и на vba формочку написать,
которая б меняла источник данных на выбранный из списка,
но было лениво

Просто подумал - может кто кто элегантнее придумал...
-
- Пользователь
- Сообщения: 54
- Зарегистрирован: 09 дек 2008, 15:38
Re: Как подменить ODBC DSN в Excel файле?
Скинь Excel query, может чего нибудь придумаем получше.