powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Закрытие сессии с Access после обновления в Excel
11 сообщений из 11, страница 1 из 1
Закрытие сессии с Access после обновления в Excel
    #39116431
7ionov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Друзья, синхронизирую справочники в 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.
...
Рейтинг: 0 / 0
Закрытие сессии с Access после обновления в Excel
    #39116776
MrVoid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
7ionov,

Что значит "база Access продолжает висеть открытой"?
...
Рейтинг: 0 / 0
Закрытие сессии с Access после обновления в Excel
    #39116863
7ionov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MrVoid,

в Excel есть "умная" таблица, данные которой берутся из файла Access, к которому эта таблица подключена с помощью приведенной выше строки подключения.

При открытии файла Excel, если его обновить полностью, данные обновляются, а база Access блокируется .laccdb. Прошу помочь, как не закрывая файл Excel, убрать эту блокировку с файла Access. Нужно закрыть соединение, сессию или что-то в этом роде.
...
Рейтинг: 0 / 0
Закрытие сессии с Access после обновления в Excel
    #39117122
f
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А открываете как?
...
Рейтинг: 0 / 0
Закрытие сессии с Access после обновления в Excel
    #39117138
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
7ionovНужно закрыть соединениеТак удалите подключение к БД. Вкладка Данные -Подключения. Выберите нужное и удалите.
Если удалять нельзя, возможно поможет удаление Фонового обновления и обновление по промежутку времени.
Переходите туда же: вкладка Данные -Подключения. Выбираете нужное подключение -Свойства. На вкладке Использование снимаете галку с "Фоновое обновление" и "Обновлять каждые". Оставляете только "Обновление при открытии файла".
...
Рейтинг: 0 / 0
Закрытие сессии с Access после обновления в Excel
    #39117239
7ionov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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.
...
Рейтинг: 0 / 0
Закрытие сессии с Access после обновления в Excel
    #39117330
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
7ionovС поля Обновлять при открытии, я флажок убралкак бы...
The_Prist снимаете галку с "Фоновое обновление" и "Обновлять каждые". Оставляете только "Обновление при открытии файла"

Т.е. можно и не обновлять при открытии - но остальные-то точно надо снять
...
Рейтинг: 0 / 0
Закрытие сессии с Access после обновления в Excel
    #39117357
7ionov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_Prist,

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

Но это не то, что надо)
...
Рейтинг: 0 / 0
Закрытие сессии с Access после обновления в Excel
    #39117513
f
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Правой кнопкой - Таблица - Разорвать связь с источником данных.
...
Рейтинг: 0 / 0
Закрытие сессии с Access после обновления в Excel
    #39117947
anvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе время суток
7ionov , лучше перейдите на ODBC подключение к базе Access с установкой ReadOnly=1 в строке подключения (laccdb не будет) и, как советует уважаемый The_Prist , отключите фоновое обновление.
Архив примера распаковать в папку c:\Path

Успехов.
...
Рейтинг: 0 / 0
Закрытие сессии с Access после обновления в Excel
    #39118043
7ionov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
anvg,

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


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