Я пытаюсь подключиться к базе данных MS Access через Microsoft ACE OLEDB 12.0. Я хотел бы, чтобы он работал как в Excel 2010, так и в Excel 2013, чтобы конечный пользователь просто обновлял соединение для получения новых данных. Проблема в том, что Excel 2013 добавляет 2 свойства в строку подключения, что делает подключение непригодным для пользователя Excel 2010. Есть ли способ предотвратить их добавление в Excel 2013 или заставить Excel 2010 игнорировать их? Файл с подключением будет находиться на сетевом диске и будет использоваться пользователями Excel 2010 и 2013.
ЭКСЕЛЬ 2010:
Provider=Microsoft.ACE.OLEDB.12.0;
User ID=USER;
Data Source=path1.mdb;Mode=Read;
Extended Properties="";
Jet OLEDB:System database=path2.mdw;
Jet OLEDB:Registry Path="";
Jet OLEDB:Engine Type=5;
Jet OLEDB:Database Locking Mode=1;
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
ЭКСЕЛЬ 2013:
Provider=Microsoft.ACE.OLEDB.12.0;
User ID=USER;
Data Source=path1.mdb;Mode=Read;
Extended Properties="";
Jet OLEDB:System database=path2.mdw;
Jet OLEDB:Registry Path="";
Jet OLEDB:Engine Type=5;
Jet OLEDB:Database Locking Mode=1;
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
Как видите, Excel 2013 добавляет еще 2 строки, что делает это соединение непригодным для использования. Я подумал о добавлении кода VBA для изменения строки подключения перед обновлением данных, но если есть способ не задействовать vba, это было бы здорово.
РЕДАКТИРОВАТЬ: при использовании в Excel 2010 с этими дополнительными строками Excel выдает ошибку «Не удалось найти устанавливаемый ISAM».