Файли mdb, відкриті в 2010 році, втрачають посилання на код VBA


1

Відмова від відповідальності: я щойно повернувся з хворого часу, не бачив помилки і не дослідив повний спектр можливих причин, просто шукав підказки щодо того, що може бути системним питанням чи чимось іншим у подібній ситуації.

Перенесення офісу на Office 2010 з Office 2003. Деякі критичні бази даних тепер створюють помилки, коли відкриваються в 2003 році, аналогічно тому, що ви отримаєте при використанні бібліотек, які ви не налаштували належним чином у довідниках (додаток VBA: Tools => Список літератури).

Я розслідую, чи не виникає проблема, коли файли відкриваються в Access 2010 так само, як і при відкритті в 2003 році. Також я намагаюся порівняти, на які бібліотеки посилаються машини, які працюють порівняно з тими, які не є 'т. Я оновлю, оскільки матиму більше інформації.

Тим часом хтось знає про подібні проблеми, які можуть бути вирішені зміною конфігурації, а не редагуванням MDB?

Бібліотеки, на які посилається система 2010 року, де працює MDB:

  • Visual Basic для додатків
  • Об'єктна бібліотека Microsoft Access 14.0
  • OLE Automation
  • Об'єкти даних Microsoft ActiveX 2.1 Бібліотека

Друга бібліотека ставить запитання. MDB спочатку писалися, ймовірно, за допомогою Access 97, інакше, використовуючи Access 2003, і ​​так би посилалися на відповідну "Об'єктну бібліотеку Microsoft Access 12.0" (за 2003 рік) або подібну. Чи відкриє файл у 2010 році, як ми бачимо, що це змінено цю посилання на версію 14.0, змусить 2003 рік шукати цю ж бібліотеку версії 14.0?

ОНОВЛЕННЯ: Я перевірив файли MDB у своїй системі, що, схоже, не має проблем (звичайно). Бібліотеки, на які посилаються, однакові і в Access 2003, і ​​в 2010 році, і в Microsoft Access ##. # Бібліотека об’єктів повідомляє 11.0 в 2003 році і 14.0 в 2010 році, що повинно вказувати, що в коді це не "жорсткий набір".

Я перевірю параметри безпеки, запропоновані коментатором нижче, і звітую про це.

Відповіді:


1

Це не відповідає 100% тому, що ви говорите, але більшість проблем, які виникають при модернізації Office, пов’язані з підвищеними налаштуваннями безпеки, введеними в Office 2007, які однакові для 2010 року.

Я спершу спробую перейти до Файл> Параметри> Центр довіри> Налаштування Центру довіри та знизити всі налаштування, навіть якщо це лише тест. Потім ви можете зачепити їх назад і побачити, що зламає що. Спочатку виправте цю поширену проблему, а потім перевірте, чи все ще виникають проблеми з кодуванням.


Налаштування безпеки вже встановлені. По суті, я вважаю довіреним весь наш файловий сервер. На файловому сервері вже є інші засоби захисту, і це не було великою проблемою безпеки. Усі інші налаштування встановлені як підказки, а жодні - для відмови.
music2myear


0

Рішення таке:

Access не пропонує способу відмовитись від перевірки та переналаштування програми, що пропонується для Word та інших програм Office. Це пов’язано з вимогами бібліотек, на які посилаються, і саме звідси з’явилися мої особливі симптоми.

Якщо ви використовуєте кілька версій Access, версія, яку ви запустили останньою, завжди буде версією за замовчуванням. Якщо відкрити іншу версію вручну, це призведе до переналаштування та зміни версії за замовчуванням.

У звичайних випадках, коли програма функціонує належним чином, ці зміни не вплинуть на функціонування баз даних, якщо вони сумісні з версією Access, встановленою за замовчуванням у системі. Різні бібліотеки завжди будуть сумісні принаймні назад до версії Access, в якій вони були написані.

У середовищі з декількома версіями переконайтеся, що люди використовують звичайний метод вибору файлу бази даних через диспетчер файлів, а не відкривати Access безпосередньо, а потім вибирати потрібний файл призведе до послідовного досвіду версій, а також до мінімальних проблем сумісності.

У цьому конкретному випадку три користувачі, які виконували пакет Office 2010, пристосований для першого етапу нашого процесу розгортання, зазнали проблеми, описаної вище. Встановлення версії Office 2 для Етапу 2 скидає відповідні налаштування та вирішило проблему.

ОНОВЛЕННЯ. Я знайшов, що один із користувачів, у якого ця проблема, не мала довідки. Навіть після того, як Office 2003 переналаштував себе під час відкриття Access 2003, посилання все ще включали версію 14.0 Microsoft Object Library, а не версію 11.0. Саме це спричинило повідомлення про помилки в подіях On Load та On Click.


Так, встановлення оновлення Office 2010 насправді скине відповідні налаштування, оскільки адміністратор оновлює реєстр, який скидає реквізити. Проблема в цьому випадку полягає в тому, що користувачі не можуть оновлювати розділи реєстру.
Tony Toews
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.