|
Закрытие сессии с Access после обновления в Excel
|
|||
---|---|---|---|
#18+
Друзья, синхронизирую справочники в Excel из подлинкованных таблиц в Access по такой строке подключения: 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 продолжает висеть открытой, и закрытие происходит только после закрытия Excel. Подскажите как закрыть ее после обновления, не закрывая обновленный файл Excel. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2015, 15:37 |
|
Закрытие сессии с Access после обновления в Excel
|
|||
---|---|---|---|
#18+
7ionov, Что значит "база Access продолжает висеть открытой"? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2015, 20:25 |
|
Закрытие сессии с Access после обновления в Excel
|
|||
---|---|---|---|
#18+
MrVoid, в Excel есть "умная" таблица, данные которой берутся из файла Access, к которому эта таблица подключена с помощью приведенной выше строки подключения. При открытии файла Excel, если его обновить полностью, данные обновляются, а база Access блокируется .laccdb. Прошу помочь, как не закрывая файл Excel, убрать эту блокировку с файла Access. Нужно закрыть соединение, сессию или что-то в этом роде. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.11.2015, 23:39 |
|
Закрытие сессии с Access после обновления в Excel
|
|||
---|---|---|---|
#18+
А открываете как? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2015, 11:31 |
|
Закрытие сессии с Access после обновления в Excel
|
|||
---|---|---|---|
#18+
7ionovНужно закрыть соединениеТак удалите подключение к БД. Вкладка Данные -Подключения. Выберите нужное и удалите. Если удалять нельзя, возможно поможет удаление Фонового обновления и обновление по промежутку времени. Переходите туда же: вкладка Данные -Подключения. Выбираете нужное подключение -Свойства. На вкладке Использование снимаете галку с "Фоновое обновление" и "Обновлять каждые". Оставляете только "Обновление при открытии файла". ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2015, 11:42 |
|
Закрытие сессии с Access после обновления в Excel
|
|||
---|---|---|---|
#18+
The_Prist, Еще раз переформулировал вопрос: Пользуюсь 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:43 |
|
Закрытие сессии с Access после обновления в Excel
|
|||
---|---|---|---|
#18+
7ionovС поля Обновлять при открытии, я флажок убралкак бы... The_Prist снимаете галку с "Фоновое обновление" и "Обновлять каждые". Оставляете только "Обновление при открытии файла" Т.е. можно и не обновлять при открытии - но остальные-то точно надо снять ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2015, 13:55 |
|
Закрытие сессии с Access после обновления в Excel
|
|||
---|---|---|---|
#18+
The_Prist, опытным путем выяснил, что база закрывается, когда после обновления заходишь в контекстном меню в: таблица ->свойства внешних данных -> свойства подключения, а потом отмена, отмена. Но это не то, что надо) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2015, 14:22 |
|
Закрытие сессии с Access после обновления в Excel
|
|||
---|---|---|---|
#18+
Правой кнопкой - Таблица - Разорвать связь с источником данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2015, 16:15 |
|
Закрытие сессии с Access после обновления в Excel
|
|||
---|---|---|---|
#18+
Доброе время суток 7ionov , лучше перейдите на ODBC подключение к базе Access с установкой ReadOnly=1 в строке подключения (laccdb не будет) и, как советует уважаемый The_Prist , отключите фоновое обновление. Архив примера распаковать в папку c:\Path Успехов. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2015, 04:04 |
|
|
start [/forum/topic.php?fid=61&msg=39117138&tid=2173266]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 160ms |
0 / 0 |