Access 2003 ADP открыт и сохранен в 2007 году теперь ведет себя странно в 2003 году - PullRequest
1 голос
/ 15 апреля 2009

Я унаследовал ADP-файл Access 2003, который использует SQL 2000 в качестве источника данных. Это мой первый проект по обслуживанию доступа, и я не задумывался о проблемах, просто открыл его в Access 2007 на моей машине разработчика. Это, конечно, сработало, и я приступил к выполнению запрошенной работы.

Я завершил работу и представил клиенту файл, который он открывает в Access 2003 и продолжает получать несколько ошибок, все из которых связаны с не объявленными переменными. Именно в этот момент я понимаю, что ни один из файлов кода не имеет установленного Option Explicit. Я снова смотрю на проект в доступе 2007 - без ошибок. Поведение таково, как будто access 2007 соблюдает Отсутствие явного Option и работает должным образом, но Access 2003 «думает», что Option Explicit установлен, даже если он никогда не появляется ни в одном файле кода.

Я понимаю, что могу просто заново выполнить работу, используя только доступ 2003, но это заняло бы больше времени, чем хотелось бы. Кто-нибудь может предложить совет или решение?

Спасибо.

Ответы [ 3 ]

0 голосов
/ 15 апреля 2009

Это не очень вам поможет, но я очень быстро понял, когда один из моих клиентов переключился на Office 2007, что я НИКОГДА не должен работать над 2003 дБ в 2007 году, а затем попытаться запустить его в 2003 году. 2007, тогда преобразование в 2003 также не работает. Разработка в 2003 году, а затем запуск 2003 дБ (без преобразования) в 2007 году работает довольно хорошо. Большую часть времени.

Возможный ответ на вторую часть вашего вопроса: 1. Преобразуйте ваш 2007 дБ в формат 2003. 2. Откройте новую пустую базу данных в 2003 году. 3. Импортировать все объекты из преобразованной базы данных 2003 года. Перекомпилируйте и попробуйте на компьютере вашего клиента.

0 голосов
/ 22 июня 2010

У меня тоже была эта проблема. Я 2 года занимаюсь разработкой внешнего интерфейса Access 2003, который подключается к SQL-интерфейсу. Я тупо начал использовать Access 2007, думая, что все, что мне нужно было сделать, это сохранить в формате 2003, и все будет хорошо.

Не так. Все мои пользователи, все еще использующие 2003, сообщили о проблемах.

В конце концов проблему было легко решить. На самом деле я не использовал никаких функций 2007 года, поэтому все, что было изменено, это ссылки на библиотеки. У меня было 2 недостающие ссылки на библиотеки Word и Excel 12.0, которые были автоматически включены при открытии базы данных в 2007 году. Спасибо, Microsoft.

Извлек эти ссылки, и я смог «починить» свою базу данных, не возвращаясь к более ранней версии, потеряв 2 дня работы.

Надеюсь, это кому-нибудь поможет.

0 голосов
/ 15 апреля 2009

Странная проблема - я не вижу, как Access 2003 будет проверять явные объявления переменных без каких-либо Option Explicit. Что-то еще должно происходить.

Можете ли вы воспроизвести поведение на вашем компьютере с помощью Access 2003?

Как на самом деле вы объявляете свои переменные? Вы должны установить Option Explicit независимо.

UPDATE:

Поскольку целью является попытка заставить работать Access 2003 mdb (сохранено с 2007 года). Я бы попробовал еще одну вещь.

Используя Access 2003, откройте mdb с ключом / decompile

  • Сделайте резервную копию вашего mdb
  • Откройте базу данных mdb (удерживайте клавишу SHIFT, чтобы остановить выполнение любого кода) с помощью ярлыка: msaccess.exe database.mdb / decompile
  • Откройте модуль и скомпилируйте ваше приложение
  • Сохранить и закрыть Access
  • Открыть снова (снова SHIFT) без декомпиляции
  • Компактная и ремонтная база данных
  • закрыть доступ
...