|
Снятие блокировки базы Access из Excel
|
|||
---|---|---|---|
#18+
Здравствуйте, друзья! Пользуюсь 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. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2015, 12:41 |
|
Снятие блокировки базы Access из Excel
|
|||
---|---|---|---|
#18+
Попробуйте заменить "Mode=Share Deny None" на "Mode=Read" ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2015, 13:28 |
|
Снятие блокировки базы Access из Excel
|
|||
---|---|---|---|
#18+
Анатолий ( Киев ), эффект тот же. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2015, 13:54 |
|
Снятие блокировки базы Access из Excel
|
|||
---|---|---|---|
#18+
Анатолий ( Киев ), опытным путем выяснил, что база закрывается, когда после обновления заходишь в контекстном меню Умной таблицы" в: таблица ->свойства внешних данных -> свойства подключения, а потом отмена, отмена. Но это не то, что надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2015, 14:23 |
|
Снятие блокировки базы Access из Excel
|
|||
---|---|---|---|
#18+
Кросспостинг. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2015, 16:18 |
|
Снятие блокировки базы Access из Excel
|
|||
---|---|---|---|
#18+
7ionov, в другом своем посте на эту же тему вы показали код с использованием CopyFromRecordset. Как он относится к теме? ИМХО, это вариант решает проблему. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2015, 17:36 |
|
Снятие блокировки базы Access из Excel
|
|||
---|---|---|---|
#18+
Анатолий ( Киев ), Вариант, о котором вы пишете нашел сам, но он возвращает только записи, без полей, и не отформатированные как таблица. Он не подходит, поскольку использую именованные диапазоны, на которых работают выпадающие списки в Excel. avng, подсказал следующее: Закрытие сессии с Access после обновления в Excel Это дает нужный результат. Сорри за кросспостинг, не знал к какой теме лучше отнести вопрос: Access или Excel. А два раза в Access из-за флуда товарища 2112. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2015, 10:12 |
|
|
start [/forum/topic.php?fid=45&msg=39117520&tid=1614206]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 354ms |
total: | 470ms |
0 / 0 |