Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Снятие блокировки базы Access из Excel / 7 сообщений из 7, страница 1 из 1
01.12.2015, 12:41
    #39117237
7ionov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снятие блокировки базы Access из Excel
Здравствуйте, друзья!

Пользуюсь Access-Excel, для синхронизации справочных данных из одной базы Access во многих файлах Excel. Такое самодельное MDM (master data management).
Вся эта "красота" с выпадающими каскадными списками (зависящими от предыдущего значения в записи), пока работала без VBA.
Таблицы подключаются с помощью Подключения к внешним данным на вкладке Данные в Excel, через файл .odc, в котором содержится строка подключения:

Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=f:\Общая\DWH\DWH.accdb;Mode=Share Deny None;Extended Properties="";Jet OLEDB:System database="";Jet OLEDB:Registry Path="";Jet OLEDB:Engine Type=6;Jet OLEDB:Database Locking Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False;Jet OLEDB:Support Complex Data=False;Jet OLEDB:Bypass UserInfo Validation=False;Jet OLEDB:Limited DB Caching=False;Jet OLEDB:Bypass ChoiceField Validation=False

Таблицы обновляются вручную, после нажатия Обновить всё. С поля Обновлять при открытии, я флажок убрал.
При обновлении база Access блокируется, появляется файл .laccdb.
Блокировка снимается только после того, как пользователь закроет файл Excel, который он обновил.
Таким образом другой пользователь не может обновиться, пока открыт файл предыдущего обновившегося пользователя.

Вопрос в следующем:
Можно ли на событие, например, после ActiveWorkbook.RefreshAll повесить процедуру снятия блокировки базы Access.
...
Рейтинг: 0 / 0
01.12.2015, 13:28
    #39117300
Снятие блокировки базы Access из Excel
Попробуйте заменить "Mode=Share Deny None" на "Mode=Read"
...
Рейтинг: 0 / 0
01.12.2015, 13:54
    #39117329
7ionov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снятие блокировки базы Access из Excel
Анатолий ( Киев ),

эффект тот же.
...
Рейтинг: 0 / 0
01.12.2015, 14:23
    #39117358
7ionov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снятие блокировки базы Access из Excel
Анатолий ( Киев ),

опытным путем выяснил, что база закрывается, когда после обновления заходишь в контекстном меню Умной таблицы" в: таблица ->свойства внешних данных -> свойства подключения, а потом отмена, отмена.

Но это не то, что надо.
...
Рейтинг: 0 / 0
01.12.2015, 16:18
    #39117520
f
f
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снятие блокировки базы Access из Excel
Кросспостинг.
...
Рейтинг: 0 / 0
01.12.2015, 17:36
    #39117644
Снятие блокировки базы Access из Excel
7ionov, в другом своем посте на эту же тему вы показали код с использованием CopyFromRecordset. Как он относится к теме? ИМХО, это вариант решает проблему.
...
Рейтинг: 0 / 0
02.12.2015, 10:12
    #39118060
7ionov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Снятие блокировки базы Access из Excel
Анатолий ( Киев ),

Вариант, о котором вы пишете нашел сам, но он возвращает только записи, без полей, и не отформатированные как таблица.
Он не подходит, поскольку использую именованные диапазоны, на которых работают выпадающие списки в Excel.

avng, подсказал следующее:

Закрытие сессии с Access после обновления в Excel

Это дает нужный результат.

Сорри за кросспостинг, не знал к какой теме лучше отнести вопрос: Access или Excel.
А два раза в Access из-за флуда товарища 2112.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Снятие блокировки базы Access из Excel / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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