|
|
|
MS Query (DSN=Excel) vs Microsoft.ACE.OLEDB
|
|||
|---|---|---|---|
|
#18+
Похожие темы были. Просто хочу резюмировать. Задача: в 2010-м офисе в файле Excel создать подключения к данным из нескольких файлов Excel в локалке. Файлы с данными в формате *.xlsm поэтому стандартный Мастер подключения к данным их не хочет видеть. Если подключать через MS Query, то есть проблема: если файл-источник открыт на удалённой машине, то файл с данными тупо скачивается на комп получателя данных и открывается (это чё-то там из траблов с утечкой памяти описанных в мсдн). Если подключать через Microsoft.ACE.OLEDB то другая проблема: файл источника данных будет заблокирован на удалённой машине (и бесполезно выставлять другие режимы вместо стандартного Share Deny Write). Как решить не знаю. Вариант - всё же тянуть через MS Query, но затем отлавливать скачанный файл (по его имени или имени макроса в нём) и прибивать его после обновления данных (при условии решения проблемы: как понять, что данные обновились). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2012, 07:09 |
|
||
|
MS Query (DSN=Excel) vs Microsoft.ACE.OLEDB
|
|||
|---|---|---|---|
|
#18+
тянуть конкретными диапазонами не рассматриваю, т.к. в файлах источниках число столбцов на усмотрение пользователей. данные нужны с сохранением форматирования ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2012, 07:12 |
|
||
|
MS Query (DSN=Excel) vs Microsoft.ACE.OLEDB
|
|||
|---|---|---|---|
|
#18+
proprogcФайлы с данными в формате *.xlsm поэтому стандартный Мастер подключения к данным их не хочет видеть.а вот это в чем выражается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2012, 08:56 |
|
||
|
MS Query (DSN=Excel) vs Microsoft.ACE.OLEDB
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, в комбике "Выбор базы данных и таблицы" не отображаются файлы с таким расширением (Мастер подключения->ODBC-DSN->Excel Files->Выбор имени базы (здесь *.xlsm выбирается)->ОК->Здесь стопор) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2012, 09:18 |
|
||
|
MS Query (DSN=Excel) vs Microsoft.ACE.OLEDB
|
|||
|---|---|---|---|
|
#18+
proprogc, Я к тому, нельзя ли в этом комбике написать путь ручками ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2012, 09:41 |
|
||
|
MS Query (DSN=Excel) vs Microsoft.ACE.OLEDB
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, Ручками в комбике не написать. Можно конечно через макрос подключение запустить (там должна быть строчка с DriverId=1046 для поддержки новых расширений) , но всё равно ADODB.Recordset начинает качать файл, если он открыт на удалённой машине. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2012, 12:29 |
|
||
|
MS Query (DSN=Excel) vs Microsoft.ACE.OLEDB
|
|||
|---|---|---|---|
|
#18+
1. как не дать затягивать открытый файл-источник никому похоже не известно. 2. как отловить событие окончания рефреша вообще тайна. в мсдне есть QueryTable.AfterRefresh Event , но без возвращаемого значения, т.е. как использовать неясно. можно тупо по таймеру, но последствия непредсказуемы. вопрос остаётся открытым. P.S. делать прогу с хранением данных на нормальной базе нереально при условии, что юзеры постоянно добавляют какие-нибудь столбцы, привыкли работать на экселе, делают там по кучи всякое форматирование и т.д. (главное- связываться неохота, т.к. целый проект подтянется, а цигель-цигель-ай-лю-лю) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.03.2012, 14:54 |
|
||
|
|

start [/forum/topic.php?fid=61&gotonew=1&tid=2175867]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
11ms |
get first new msg: |
7ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 230ms |
| total: | 393ms |

| 0 / 0 |
