Это обычное явление.
Подсказка HUGE MASSIVE заключается в том, что accDB работает, а accDE (предварительно скомпилированный) - нет.
И следующий совет HUGE MASSIVE-off компилирует accDB в accDE на этой конкретной машине, ТАКЖЕ работает.
Причина и проблема в том, что версия Access, работающая на этой машине, не соответствует версии сохранения, которую вы используете на другоймашины.(Конкретная машина, используемая для компиляции accDB в accDE).
Хотя, конечно, вы запускаете Access 2010 на всех машинах, проблема заключается в версии обновления SP (с установленными пакетами обновления).
Имейте в виду, что среда выполнения НЕ обновляется обновлением Windows.
Имейте в виду, что запуск обновления Office SP НЕ будет обновлять среду выполнения (но это будет применяться только к машинам, работающим только во время выполнения).
Итак, на вашем компьютере разработчика?Что ж, автоматические обновления могут запускать обновление SP до Office 2010.
Однако автоматические обновления Windows НИКОГДА не обновляют среду доступа access 2010.Необходимо установить обновления 2010 SP SP времени выполнения вручную.Итак, с сочетанием времени выполнения и полной версии?
Ну, на машинах с полной версией появятся обновления SP (они перезаписывают среду выполнения на этих машинах).Фактически, вы не можете установить как полную версию, так и среду выполнения на одном компьютере.Установщик допускает это, но это «поддельная» установка, и установка среды выполнения 2010 на машины с полной версией фактически НИЧЕГО не делает !!(Что ж, он создает «поддельную» запись в списке установленных программ, но на самом деле он НЕ устанавливает среду выполнения, поскольку он перезаписывает полную версию, которая уже существует на компьютере).
На компьютерахс полной версией, затем установка обновлений SP в офис или даже разрешение обновления Windows сделать это СЕЙЧАС приведет к тому, что версия 2010 будет РАЗЛИЧНОЙ по сравнению с вашей машиной разработчика.
Причина, по которой работает accDB, заключается в том, что Access(даже время выполнения) обнаружит, что «версия SP» отличается, и перекомпилирует VBA на лету.Даже автономная версия времени выполнения способна перекомпилировать исходный код VBA.
Однако, с помощью accDE?
Код предварительно скомпилирован, и, следовательно, не требуется-компиляция может произойти.Там нет исходного кода.AccDE должен и часто ДОЛЖЕН запускаться + использоваться в версии SAME sp.
Чтобы уменьшить или почти устранить эту проблему?
Что ж, на вашем компьютере разработчика убедитесь, что sp2, или обновление sp3 для офиса было применено.
На целевых компьютерах?Если они только во время выполнения, вы ДОЛЖНЫ установить обновление sp2 или sp3 в среду доступа.Я не могу подчеркнуть, что вы ДОЛЖНЫ загрузить и установить обновление SP2 или SP3 для среды доступа.Обновление office sp НЕ БУДЕТ работать и не будет обновлять версию времени выполнения только на машинах времени выполнения.
Из-за вышеизложенного?
Я рекомендую загрузить среду выполнения 2010 года.Загрузите обновление среды выполнения sp3 2010 и «пропустите поток» обновления sp3 В установщик среды выполнения 2010 года.
Затем можно предоставить сайту клиента (или вашему сайту) папку на сервере с установленной средой выполнения для установки.и, КОГДА вы устанавливаете среду выполнения, в эту установку будет включено обновление sp3.
Если вы (или ваш ИТ-отдел) НЕ знаете, как включить обновление SP3, тогда просто ВСЕГДА установитесреда выполнения 2010, а затем ВСЕГДА устанавливайте обновление sp3 для среды выполнения 2010.
Выполнение вышеуказанного устранит проблему, связанную с созданием и компиляцией AccDE с другой версией выпуска доступа.
Последнее, но не менее важное?
Нет сомнений, что вы хотите продолжить использовать скомпилированный accDE, поскольку во время выполнения любая необработанная ошибка с accDB не только выдаст сообщение об ошибке, но и отключит всеapplication.
Итак: С помощью accDE: Ошибки НИКОГДА не сбрасывать глобальные или локальные переменные. \ Ошибки будутл никогдаиспользовать отключение времени выполнения.Даже необработанные ошибки НЕ приведут к закрытию вашего приложения.Необработанные ошибки НИКОГДА не будут переустанавливать локальные или глобальные переменные, они будут ВСЕГДА независимо от того, что сохранят свои значения на время сеанса приложения.
При использовании accDB и времени выполнения: любая необработанная ошибка будет уничтоженавсе локальные и глобальные переменные.Любая необработанная ошибка затем отключит среду выполнения после отображения таких ошибок.
Итог: использование accDE, таким образом, значительно более надежно, чем accDB при использовании среды выполнения.