Меню

Ошибка при компиляции функции access 2010

  • Remove From My Forums
  • Question

  • After a recent update from Office 2016 to Office 365. Trying to open a query in access gives the error «there was an error compiling this function. If I create a new query and include a function e.g Left, Instr, Trim- I get the error»
    There was an error compiling this function» «The Visual Basic module contains a syntax error» «Check the code, and then recompile it.  

    I moved all objects to a new database but the problems stills exists. Any advice. Thx

    

Answers

  • This is what has been causing the error

    Public Declare Function GetUserName Lib "advapi32.dll" _
     Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long

    Apparently the library file advapi32.dll was removed after the Windows 64bit upgrade. I removed the code and all the queries(with functions) now work.

    • Edited by

      Tuesday, August 27, 2019 6:43 PM

    • Marked as answer by
      Bukka
      Wednesday, August 28, 2019 1:39 AM

  • Remove From My Forums
  • Question

  • After a recent update from Office 2016 to Office 365. Trying to open a query in access gives the error «there was an error compiling this function. If I create a new query and include a function e.g Left, Instr, Trim- I get the error»
    There was an error compiling this function» «The Visual Basic module contains a syntax error» «Check the code, and then recompile it.  

    I moved all objects to a new database but the problems stills exists. Any advice. Thx

    

Answers

  • This is what has been causing the error

    Public Declare Function GetUserName Lib "advapi32.dll" _
     Alias "GetUserNameA" (ByVal lpBuffer As String, nSize As Long) As Long

    Apparently the library file advapi32.dll was removed after the Windows 64bit upgrade. I removed the code and all the queries(with functions) now work.

    • Edited by

      Tuesday, August 27, 2019 6:43 PM

    • Marked as answer by
      Bukka
      Wednesday, August 28, 2019 1:39 AM

В этой статье представлена ошибка с номером Ошибка 7960, известная как При компиляции этой функции произошла ошибка, описанная как При компиляции этой функции произошла ошибка. @ Модуль Visual Basic содержит синтаксическую ошибку. @ Проверьте код, а затем перекомпилируйте его. @ 1 @@@ 1.

О программе Runtime Ошибка 7960

Время выполнения Ошибка 7960 происходит, когда Microsoft Access дает сбой или падает во время запуска, отсюда и название. Это не обязательно означает, что код был каким-то образом поврежден, просто он не сработал во время выполнения. Такая ошибка появляется на экране в виде раздражающего уведомления, если ее не устранить. Вот симптомы, причины и способы устранения проблемы.

Определения (Бета)

Здесь мы приводим некоторые определения слов, содержащихся в вашей ошибке, в попытке помочь вам понять вашу проблему. Эта работа продолжается, поэтому иногда мы можем неправильно определить слово, так что не стесняйтесь пропустить этот раздел!

  • Basic — Универсальный символьный код инструкций BASIC для начинающих — это семейство языков программирования высокого уровня, разработанных для простоты использования.
  • Функция — Функция, также называемая процедурой, методом, подпрограммой или подпрограммой, представляет собой часть кода, предназначенную для выполнения отдельной конкретной задачи.
  • Модуль — логический подразделение более крупной и сложной системы.
  • Перекомпилировать — действие по повторной компиляции чего-либо.
  • Синтаксис — синтаксис ссылается на к фактическим языковым элементам и самим символам.
  • Синтаксическая ошибка . Синтаксическая ошибка возникает, когда программа не следует синтаксическим правилам языка программирования.
  • Компиляция — Компиляция — это преобразование исходного текста в какую-либо другую форму или представление.

Симптомы Ошибка 7960 — При компиляции этой функции произошла ошибка

Ошибки времени выполнения происходят без предупреждения. Сообщение об ошибке может появиться на экране при любом запуске %программы%. Фактически, сообщение об ошибке или другое диалоговое окно может появляться снова и снова, если не принять меры на ранней стадии.

Возможны случаи удаления файлов или появления новых файлов. Хотя этот симптом в основном связан с заражением вирусом, его можно отнести к симптомам ошибки времени выполнения, поскольку заражение вирусом является одной из причин ошибки времени выполнения. Пользователь также может столкнуться с внезапным падением скорости интернет-соединения, но, опять же, это не всегда так.

Fix При компиляции этой функции произошла ошибка (Error Ошибка 7960)
(Только для примера)

Причины При компиляции этой функции произошла ошибка — Ошибка 7960

При разработке программного обеспечения программисты составляют код, предвидя возникновение ошибок. Однако идеальных проектов не бывает, поскольку ошибки можно ожидать даже при самом лучшем дизайне программы. Глюки могут произойти во время выполнения программы, если определенная ошибка не была обнаружена и устранена во время проектирования и тестирования.

Ошибки во время выполнения обычно вызваны несовместимостью программ, запущенных в одно и то же время. Они также могут возникать из-за проблем с памятью, плохого графического драйвера или заражения вирусом. Каким бы ни был случай, проблему необходимо решить немедленно, чтобы избежать дальнейших проблем. Ниже приведены способы устранения ошибки.

Методы исправления

Ошибки времени выполнения могут быть раздражающими и постоянными, но это не совсем безнадежно, существует возможность ремонта. Вот способы сделать это.

Если метод ремонта вам подошел, пожалуйста, нажмите кнопку upvote слева от ответа, это позволит другим пользователям узнать, какой метод ремонта на данный момент работает лучше всего.

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

Метод 4 — Переустановите библиотеки времени выполнения

Вы можете получить сообщение об ошибке из-за обновления, такого как пакет MS Visual C ++, который может быть установлен неправильно или полностью. Что вы можете сделать, так это удалить текущий пакет и установить новую копию.

  • Удалите пакет, выбрав «Программы и компоненты», найдите и выделите распространяемый пакет Microsoft Visual C ++.
  • Нажмите «Удалить» в верхней части списка и, когда это будет сделано, перезагрузите компьютер.
  • Загрузите последний распространяемый пакет от Microsoft и установите его.

Метод 1 — Закройте конфликтующие программы

Когда вы получаете ошибку во время выполнения, имейте в виду, что это происходит из-за программ, которые конфликтуют друг с другом. Первое, что вы можете сделать, чтобы решить проблему, — это остановить эти конфликтующие программы.

  • Откройте диспетчер задач, одновременно нажав Ctrl-Alt-Del. Это позволит вам увидеть список запущенных в данный момент программ.
  • Перейдите на вкладку «Процессы» и остановите программы одну за другой, выделив каждую программу и нажав кнопку «Завершить процесс».
  • Вам нужно будет следить за тем, будет ли сообщение об ошибке появляться каждый раз при остановке процесса.
  • Как только вы определите, какая программа вызывает ошибку, вы можете перейти к следующему этапу устранения неполадок, переустановив приложение.

Метод 2 — Обновите / переустановите конфликтующие программы

Использование панели управления

  • В Windows 7 нажмите кнопку «Пуск», затем нажмите «Панель управления», затем «Удалить программу».
  • В Windows 8 нажмите кнопку «Пуск», затем прокрутите вниз и нажмите «Дополнительные настройки», затем нажмите «Панель управления»> «Удалить программу».
  • Для Windows 10 просто введите «Панель управления» в поле поиска и щелкните результат, затем нажмите «Удалить программу».
  • В разделе «Программы и компоненты» щелкните проблемную программу и нажмите «Обновить» или «Удалить».
  • Если вы выбрали обновление, вам просто нужно будет следовать подсказке, чтобы завершить процесс, однако, если вы выбрали «Удалить», вы будете следовать подсказке, чтобы удалить, а затем повторно загрузить или использовать установочный диск приложения для переустановки. программа.

Использование других методов

  • В Windows 7 список всех установленных программ можно найти, нажав кнопку «Пуск» и наведя указатель мыши на список, отображаемый на вкладке. Вы можете увидеть в этом списке утилиту для удаления программы. Вы можете продолжить и удалить с помощью утилит, доступных на этой вкладке.
  • В Windows 10 вы можете нажать «Пуск», затем «Настройка», а затем — «Приложения».
  • Прокрутите вниз, чтобы увидеть список приложений и функций, установленных на вашем компьютере.
  • Щелкните программу, которая вызывает ошибку времени выполнения, затем вы можете удалить ее или щелкнуть Дополнительные параметры, чтобы сбросить приложение.

Метод 3 — Обновите программу защиты от вирусов или загрузите и установите последнюю версию Центра обновления Windows.

Заражение вирусом, вызывающее ошибку выполнения на вашем компьютере, необходимо немедленно предотвратить, поместить в карантин или удалить. Убедитесь, что вы обновили свою антивирусную программу и выполнили тщательное сканирование компьютера или запустите Центр обновления Windows, чтобы получить последние определения вирусов и исправить их.

Метод 5 — Запустить очистку диска

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

  • Вам следует подумать о резервном копировании файлов и освобождении места на жестком диске.
  • Вы также можете очистить кеш и перезагрузить компьютер.
  • Вы также можете запустить очистку диска, открыть окно проводника и щелкнуть правой кнопкой мыши по основному каталогу (обычно это C 🙂
  • Щелкните «Свойства», а затем — «Очистка диска».

Метод 6 — Переустановите графический драйвер

Если ошибка связана с плохим графическим драйвером, вы можете сделать следующее:

  • Откройте диспетчер устройств и найдите драйвер видеокарты.
  • Щелкните правой кнопкой мыши драйвер видеокарты, затем нажмите «Удалить», затем перезагрузите компьютер.

Метод 7 — Ошибка выполнения, связанная с IE

Если полученная ошибка связана с Internet Explorer, вы можете сделать следующее:

  1. Сбросьте настройки браузера.
    • В Windows 7 вы можете нажать «Пуск», перейти в «Панель управления» и нажать «Свойства обозревателя» слева. Затем вы можете перейти на вкладку «Дополнительно» и нажать кнопку «Сброс».
    • Для Windows 8 и 10 вы можете нажать «Поиск» и ввести «Свойства обозревателя», затем перейти на вкладку «Дополнительно» и нажать «Сброс».
  2. Отключить отладку скриптов и уведомления об ошибках.
    • В том же окне «Свойства обозревателя» можно перейти на вкладку «Дополнительно» и найти пункт «Отключить отладку сценария».
    • Установите флажок в переключателе.
    • Одновременно снимите флажок «Отображать уведомление о каждой ошибке сценария», затем нажмите «Применить» и «ОК», затем перезагрузите компьютер.

Если эти быстрые исправления не работают, вы всегда можете сделать резервную копию файлов и запустить восстановление на вашем компьютере. Однако вы можете сделать это позже, когда перечисленные здесь решения не сработают.

Другие языки:

How to fix Error 7960 (There was an error compiling this function) — There was an error compiling this [email protected] Visual Basic module contains a syntax [email protected] the code, and then recompile [email protected]@@@1.
Wie beheben Fehler 7960 (Beim Kompilieren dieser Funktion ist ein Fehler aufgetreten) — Beim Kompilieren dieser Funktion ist ein Fehler [email protected] Visual Basic-Modul enthält einen [email protected]Überprüfen Sie den Code und kompilieren Sie ihn dann [email protected]@@@1.
Come fissare Errore 7960 (Si è verificato un errore durante la compilazione di questa funzione) — Si è verificato un errore durante la compilazione di questa [email protected] modulo Visual Basic contiene un errore di [email protected] il codice, quindi [email protected]@@@1.
Hoe maak je Fout 7960 (Er is een fout opgetreden bij het compileren van deze functie) — Er is een fout opgetreden bij het compileren van deze [email protected] Visual Basic-module bevat een [email protected] de code en compileer deze [email protected]@@@1.
Comment réparer Erreur 7960 (Une erreur s’est produite lors de la compilation de cette fonction) — Une erreur s’est produite lors de la compilation de cette [email protected] module Visual Basic contient une erreur de [email protected]érifiez le code, puis [email protected]@@@1.
어떻게 고치는 지 오류 7960 (이 함수를 컴파일하는 동안 오류가 발생했습니다.) — 이 함수를 컴파일하는 동안 오류가 발생했습니다[email protected] Basic 모듈에 구문 오류가 있습니다[email protected]코드를 확인한 다음 다시 컴파일하세요[email protected]@@@1.
Como corrigir o Erro 7960 (Ocorreu um erro ao compilar esta função) — Ocorreu um erro ao compilar esta função. @ O módulo do Visual Basic contém um erro de sintaxe. @ Verifique o código e recompile-o. @ 1 @@@ 1.
Hur man åtgärdar Fel 7960 (Det uppstod ett fel när den här funktionen kompilerades) — Det uppstod ett fel när den här funktionen skulle sammanstä[email protected] Basic -modulen innehåller ett [email protected] koden och kompilera sedan om [email protected] @@@ 1.
Jak naprawić Błąd 7960 (Wystąpił błąd podczas kompilowania tej funkcji) — Wystąpił błąd podczas kompilowania tej [email protected]ł Visual Basic zawiera błąd skł[email protected]ź kod, a następnie skompiluj go [email protected]@@@1.
Cómo arreglar Error 7960 (Hubo un error al compilar esta función.) — Se produjo un error al compilar esta función. @ El módulo de Visual Basic contiene un error de sintaxis. @ Verifique el código y luego vuelva a compilarlo. @ 1 @@@ 1.

The Author Об авторе: Фил Харт является участником сообщества Microsoft с 2010 года. С текущим количеством баллов более 100 000 он внес более 3000 ответов на форумах Microsoft Support и создал почти 200 новых справочных статей в Technet Wiki.

Следуйте за нами: Facebook Youtube Twitter

Последнее обновление:

19/03/22 08:53 : Пользователь Windows 10 проголосовал за то, что метод восстановления 4 работает для него.

Рекомендуемый инструмент для ремонта:

Этот инструмент восстановления может устранить такие распространенные проблемы компьютера, как синие экраны, сбои и замораживание, отсутствующие DLL-файлы, а также устранить повреждения от вредоносных программ/вирусов и многое другое путем замены поврежденных и отсутствующих системных файлов.

ШАГ 1:

Нажмите здесь, чтобы скачать и установите средство восстановления Windows.

ШАГ 2:

Нажмите на Start Scan и позвольте ему проанализировать ваше устройство.

ШАГ 3:

Нажмите на Repair All, чтобы устранить все обнаруженные проблемы.

СКАЧАТЬ СЕЙЧАС

Совместимость

Требования

1 Ghz CPU, 512 MB RAM, 40 GB HDD
Эта загрузка предлагает неограниченное бесплатное сканирование ПК с Windows. Полное восстановление системы начинается от $19,95.

ID статьи: ACX011650RU

Применяется к: Windows 10, Windows 8.1, Windows 7, Windows Vista, Windows XP, Windows 2000

Совет по увеличению скорости #57

Проверка на наличие плохой памяти в Windows:

Диагностируйте проблему с плохой памятью (RAM) на вашем компьютере с помощью таких инструментов, как memtest86 и Prime95. ОЗУ — один из самых важных компонентов вашего ПК, и иногда он может выйти из строя. Регулярно тестируйте его, чтобы обнаруживать проблемы на ранней стадии.

Нажмите здесь, чтобы узнать о другом способе ускорения работы ПК под управлением Windows

Содержание

  1. Ошибка при компиляции модуля или запуске процедуры в Access
  2. Симптомы
  3. Причина
  4. Решение
  5. Ошибка «Номер ошибки с ошибкой действия: 2950» при запуске макроса, который вызывает функцию VBA в базе данных Access
  6. Симптомы
  7. Причина
  8. Решение
  9. Метод 1. Включить базу данных для текущего сеанса
  10. Метод 2. Перемещение базы данных в надежное расположение
  11. Дополнительные сведения
  12. Access не работает vba
  13. Перестает обрабатываться код VBA
  14. Ошибка мастера в Access 2010 после установки Office 2010 SP1
  15. Симптомы
  16. Причина
  17. Решение
  18. Проблема устранена?
  19. Ссылки
  20. Дополнительная информация

Ошибка при компиляции модуля или запуске процедуры в Access

Исходный номер КБ: 921504

Эта статья применяется либо к файлу базы данных Microsoft Access (.mdb), либо к файлу базы данных Microsoft Access (.accdb).

Симптомы

Рассмотрим следующий сценарий. У вас есть процедура, которая содержит функцию Microsoft Visual Basic для приложений (VBA). База данных Microsoft Office Access содержит ссылку на отсутствующий объектную библиотеку или отсутствующий тип библиотеки. Вы компиляторите модуль или запустите процедуру. В этом сценарии вы можете получить одно из следующих сообщений об ошибке:

Сообщение об ошибке 1

База Microsoft Office доступа или проект содержит отсутствующие или неуязвимые ссылки на имя файла.
Чтобы обеспечить правильную работу базы данных или проекта, необходимо исправить эту ссылку.

Сообщение об ошибке 2

Ошибка компилирования:
Не удается найти проект или библиотеку

Причина

Эта проблема возникает из-за того, что по крайней мере одна объектная библиотека со ссылкой или по крайней мере одна библиотека типов, которая ссылается, отсутствует или не работает.

Решение

Чтобы устранить эту проблему, найдите недостающую библиотеку объектов или найдите отсутствующий тип библиотеки. Для этого выполните следующие действия:

  1. В Access откройте базу данных.
  2. Щелкните вкладку Средства базы данных и нажмите кнопку Visual Basic в группе Макрос.
  3. В редакторе Visual Basic выберите меню Tools и нажмите ссылки.
  4. В диалоговом окне Ссылки найдите библиотеку объектов или библиотеку типов, отображаемую в виде: MISSING: ReferenceName****
  5. Щелкните, чтобы очистить поле рядом с библиотекой объектов или библиотекой типов, расположенной в шаге 4.

Если вам известно расположение пропавшего файла библиотеки объектов или местонахождение отсутствующих файлов библиотеки типов, вы можете нажать Кнопку Обзор, чтобы найти файл библиотеки объектов или файл библиотеки типа.

Источник

Ошибка «Номер ошибки с ошибкой действия: 2950» при запуске макроса, который вызывает функцию VBA в базе данных Access

Office 365 ProPlus переименован в Майкрософт 365 корпоративные приложения. Для получения дополнительной информации об этом изменении прочитайте этот блог.

Исходный номер КБ: 931407

Если вы клиент малого бизнеса, найдите дополнительные ресурсы для устранения неполадок и обучения на сайте Support for Small Business.

Симптомы

При запуске макроса, который вызывает функцию Microsoft Visual Basic для приложений (VBA) в базе данных Microsoft Office Access 2007 или более поздней, вы получите следующее сообщение об ошибке:

Действие не удалось
Имя макроса: MacroName
Условие: условие
Имя макроса: RunCode
Аргументы: Аргументы
Число ошибок: 2950

Причина

Эта проблема возникает, если доступ к базе данных не доверяет. По умолчанию последние версии открытых баз данных Access, которые не доверяются в режиме Отключено. В режиме Отключено, исполняемый контент отключен.

Решение

Если вы доверяете автору базы данных и хотите включить базу данных, используйте один из следующих методов.

Метод 1. Включить базу данных для текущего сеанса

При использовании этого метода Access включает базу данных до закрытия базы данных. Чтобы включить базу данных для текущего сеанса, выполните следующие действия:

  1. В панели сообщений щелкните Параметры.
  2. В диалоговом окне Microsoft Office параметры безопасности щелкните Включить этот контент, а затем нажмите кнопку ОК.

В зависимости от версии Access вам может потребоваться повторять эти действия каждый раз, когда вы открываете базу данных.

Метод 2. Перемещение базы данных в надежное расположение

Для этого выполните следующие действия:

Определите надежные расположения, в которые можно переместить базу данных. Для этого выполните следующие действия:

Последовательно выберите пункты Файл и Параметры.

Щелкните Центр доверия и нажмите кнопку Центр доверия Параметры в Microsoft Office Центре доверия доступа.

Щелкните доверенные расположения и используйте одну из следующих процедур:

  • Обратите внимание на пути доверенных местоположений, перечисленных в списке.
  • Добавьте новое надежное расположение. Для этого нажмите кнопку Добавить новое расположение, а затем указать путь расположения, которое вы хотите добавить.

Переместим базу данных Access в указанное вами надежное расположение.

Дополнительные сведения

Вы можете использовать макрос для проверки доверия к базе данных AutoExec при открываемой базе данных. Кроме того, макрос может открыть форму, отображаемую настраиваемым сообщением для пользователей, если база данных не доверяется. Это сообщение позволяет пользователям знать, что для успешного запуска кода база данных должна быть включена или доверяема.

Чтобы создать AutoExec макрос и форму, выполните следующие действия:

Создание новой формы в представлении Design.

Добавьте текстовое поле или метку в форму, а затем введите сведения, которые необходимо отобразить пользователю.

Сохраните и закроите форму.

Создайте макрос, а затем назови AutoExec макрос.

Показать столбец Условия.

Введите следующую строку в столбце Условия:

В столбце Действия щелкните OpenForm.

В поле Имя формы в статье Аргументы действий щелкните форму, созданную на шаге 1.

Сохраните и закроите макрос.

Когда откроется база данных, AutoExec макрос запускается, а затем проверяет IsTrusted состояние. Если доступ не доверяет базе данных, макрос открывает форму, указанную в OpenForm действии макроса.

Источник

Access не работает vba

access 2010 runtime � windows 7

�� windows xp + access 2010
��� ������� �������� 2 ��� 13, 19:01����[14786266] �������� | ���������� �������� ����������

Re: ������ ������ vba ������� [new]
qwerty112
Guest
������������, ��������, � ��1.
2 ��� 13, 19:40����[14786438] �������� | ���������� �������� ����������
Re: ������ ������ vba ������� [new]
Vw
Member

������: ������
���������: 2286

��������� �� ����� �� ����� 64 ���� —
����������� � ��������� �� 32 ������ ����..
2 ��� 13, 19:50����[14786458] �������� | ���������� �������� ����������
Re: ������ ������ vba ������� [new]
qwerty112
Guest
Vw
��������� �� ����� �� ����� 64 ���� —
����������� � ��������� �� 32 ������ ����..

�������� ����� — �� �-��
����� �������� ������ �������� ������/��������, ��� ���������� �������� — ������� ��

2 ��� 13, 19:55����[14786479] �������� | ���������� �������� ����������
Re: ������ ������ vba ������� [new]
sahard
Member

������:
���������: 113

Vw
��� ����� ����� ����������

������ accde

access 2010 runtime � windows 7

�� windows xp + access 2010
��� ������� ��������

�������������� access 2010 � windows 7 — ��� ���������. �������� �� windows xp + access 2010 — ����� �� ����.

Источник

Перестает обрабатываться код VBA

Замечаю такую ситуацию:
1) Работаю с БД на работе — все отрабатывает без проблем (и hide_on и закрытие форм (через vba), фильт и все остальное)
2) архивирую — несу домой, распаковываю — работает странно, но вроде как то с трудом что-то запустилось
3) Несу обновленную версию из дома на работу — перестает обрабатываться любой код VBA:
— не работает hide on, не закрываются формы по команде, не работает фильтр. Если только создаю новую кнопку на макросе, то выполнится, если новая кнопка с кодом — не работает, просто не реагирует на нажатие..

С чем это может быть связано?

Дома 2007, на работе 2010

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Почему код перестаёт работать в функции?
Здравствуйте! У меня есть вот такой код: $login = «admin»; if (isset($_GET)) < .

Не успевают обрабатываться события
Добрый день. Имеется приложения, которое генерирует около 25 событий в секунды, каждое события.

Код, работающий в VS2003, перестаёт работать в VS2008
#include «stdafx.h» #include #include #include «math.h» #include.

Код перестает работать при разбиении на функции
Всем привет еще раз! Есть два кода. Вот первый нерабочий код double R=4444444444; public void.

Где «там»? О чем вообще речь идет?

Модуль, чтобы Форма при запуске выскакивала, а акссесс сворачивался.
Нашел модуль на этом форуме.

Понятия не имею. Вашу базу в глаза не видела, даром ясновидения не обладаю.

Добавлено через 13 минут

А, все, поняла, о каком модуле речь. Тот модуль вызывает функции библиотек виндовз. Которые в разных виндовз могут совершенно разными быть.

Но вообще вы даете. Как будто все наизуть помнят, как называлась пользовательсая функция в ответе на тему надцать страниц тому назад

Добавлено через 1 минуту
Вот эта?

Тогда действительно ждем божественной помощи mobile — только он знает заклинание услвого компилирования для разных Access и правильные имена библиотек для 64-разрядной системы.

Вы пока все равно выкладывайте базу, надо смотреть, что там с остальными ошибками, как и чем вы форму закрываете.

Вложения

Price.zip (228.4 Кб, 5 просмотров)

Знаете, первое, что я вижу, открывая вашу базу — это сообщение о несовместимости версий и отсылка на эту https://msdn.microsoft.com/lib. e.14).aspx страницу.

Т.е. вам сразу сообщается, что версии несовместимы и работать правильно не обязаны. В принципе, я бы на этом и остановилась и считала вопрос исчерпаным.

Добавлено через 3 минуты
Дальше. Модули не компилируются, т.к. в них полно синтаксических ошибок. Число End If не совпадает с числом If, после Currentdb.Execute стоит знак равества.

Устраните ошибки, и нормально откомпилируйте базу хотя бы один раз. И только после этого можно будет жаловаться на то, выполняется или нет ваш код vba.

Добавлено через 2 минуты
Ну вот, поисправляла ошибки. В какой форме не работает кнопка закрытия?

Источник

Ошибка мастера в Access 2010 после установки Office 2010 SP1

Симптомы

При использовании встроенных мастеров в Microsoft Access 2010, русская версия (64-bit) с Пакет обновления 1 (SP1), вы получаете следующее сообщение об ошибке:

Не удается открыть базу данных, так как содержащийся в ней проект VBA не может быть прочитано. База данных может быть открыта только в том случае, если проект VBA сначала удален. Удаление проекта VBA удаляет весь код из модулей, форм и отчетов. Перед открытием базы данных и удалением проекта VBA необходимо создать базу данных.

После выбора ОК в этом сообщении вы можете получить любое из следующих сообщений об ошибках:

Обновление невозможно. База данных или объект доступны только для чтения.

Проект Visual Basic для приложений в базе данных поврежден.

Microsoft Access не может найти мастера. Этот мастер не установлен, или в реестре Windows неправильный параметр, или этот мастер отключен.

Эта проблема характерна для 64-битной версии Access 2010 (64-bit). Это не происходит в 32-битной версии Access 2010.

Причина

При установке Access 2010 SP1 встроенные файлы мастера не обновляются успешно.

Решение

Чтобы устранить эту проблему, выполните следующие действия:

Закрыть все экземпляры Access 2010.

Open File Explorer. Для этого выберите Начните, введите файл, а затем выберите Проводник файлов в списке результатов.

Убедитесь, что расширения файлов видны. Для этого выберите ленту Просмотр, а затем выберите поле расширения имен файлов в группе Show/hide.

Переименуй следующие файлы в ( .old extension).

Исходное имя файла Переименовать:
Acwzmain.accde Acwzmain.old
Acwzlib.accde Acwzlib.old
Acwztool.accde Acwztool.old
Utility.accda Utility.old

Эти файлы расположены по c:Program FilesMicrosoft OfficeOffice14ACCWIZ адресу .

Проблема устранена?

Если проблема не устранена, обратитесь в службу поддержки.

Ссылки

Дополнительная информация

Требуется дополнительная помощь? Зайдите на сайт сообщества Майкрософт.

Источник

  Adblock
detector

____

1 / 1 / 0

Регистрация: 12.05.2011

Сообщений: 158

1

28.02.2019, 15:17. Показов 3583. Ответов 11

Метки ошабка компиляции (Все метки)


в общем при двойном клике

Visual Basic
1
2
3
Private Sub date_dolg_refresh_DblClick(Cancel As Integer)
Me.date_dolg_refresh = Now()
End Sub

ячейке присвается текущее время

выскакивает ошибка компиляции при этом сначала все работает как сделаешь
а потом спустя время выскакивает ошибка.

не пойми почему.

подскажите за что ?

скрин окна компиляции приложил

Миниатюры

Ошибка компиляции в очень простом выражении  Me.date_dolg_refresh = Now()
 

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



8497 / 5287 / 563

Регистрация: 27.03.2013

Сообщений: 18,516

28.02.2019, 15:25

2

Лучший ответ Сообщение было отмечено ____ как решение

Решение

____, Можно предположить, что имя поля желательно заключить в квадратненькие скобочки ибо там присутствует спецзарезервированноесловечко — date
А новейшие форматы на столько тупые, что могут и не понимать некоторые подобные нюансы.
Короче — Лучше перебдить.
Также снизошло от тараканов в голове, что возможно вы эксперементировали много, а БД ни разу не сжимали и мог остаться мусор, который может влиять на это.



0



Эксперт MS Access

16778 / 6959 / 1548

Регистрация: 21.06.2012

Сообщений: 12,974

28.02.2019, 15:29

3

Обязательно ставьте Option Explicit в начало модуля, тогда ошибки компиляции будут выявляться при компиляции.
А так — проверьте имена в форме, источнике записей, … . Есть ли это имя в списке, после набора Me.



0



8497 / 5287 / 563

Регистрация: 27.03.2013

Сообщений: 18,516

28.02.2019, 15:45

4

Лучший ответ Сообщение было отмечено ____ как решение

Решение

____, Да и кстати, вспомнил.
Не знаю почему (не теоретик), но именно в связи с полями — Дата/Время, примерно около 4-5 раз, при возникновении всяческих ошибок с датами, помогало только если — УСЁ импортировать в девственно пустую БД из глюченой.
Ни где не видел внятных объяснений, но по себе могу сказать, что в 99,9% помогало.



0



295 / 256 / 68

Регистрация: 18.06.2015

Сообщений: 570

28.02.2019, 16:12

5

Лучший ответ Сообщение было отмечено Capi как решение

Решение

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



1



9475 / 4802 / 1172

Регистрация: 05.10.2016

Сообщений: 13,472

Записей в блоге: 1

28.02.2019, 21:19

6

Цитата
Сообщение от ____
Посмотреть сообщение

не пойми почему.

А контроль в форме точно называется «date_dolg_refresh»?
… а может «date dolg refresh»!?



0



Эксперт MS Access

7262 / 4465 / 287

Регистрация: 12.08.2011

Сообщений: 13,445

01.03.2019, 09:21

7

С пробелами было бы слишком глупо



0



ᴁ®

Эксперт MS Access

2911 / 1618 / 339

Регистрация: 13.12.2016

Сообщений: 5,432

Записей в блоге: 3

01.03.2019, 10:16

8

____, попробуйте вместо Now() поставить Date()
Возможно связано с форматом поля
И еще. Если закоментировать строку — ошибка компиляции исчезает?
Бывает, что трабл в другом месте….



0



1 / 1 / 0

Регистрация: 12.05.2011

Сообщений: 158

12.06.2020, 10:36

 [ТС]

9

Цитата
Сообщение от VinniPuh
Посмотреть сообщение

____, Да и кстати, вспомнил.
Не знаю почему (не теоретик), но именно в связи с полями — Дата/Время, примерно около 4-5 раз, при возникновении всяческих ошибок с датами, помогало только если — УСЁ импортировать в девственно пустую БД из глюченой.
Ни где не видел внятных объяснений, но по себе могу сказать, что в 99,9% помогало.

сейчас начал так действовать часто вижу глюки и просто копирую форму , переименовываю и все работает ))



0



Модератор

Эксперт MS Access

4939 / 2483 / 613

Регистрация: 12.06.2016

Сообщений: 6,570

12.06.2020, 11:35

10

____,

Не те ответы Вы решением посчитали.
Правильный ответ — в сообщении #5.

Цитата
Сообщение от ____
Посмотреть сообщение

сейчас начал так действовать часто вижу глюки и просто копирую форму , переименовываю и все работает ))

Зря. Лучше бы причину «глюков» поискали.
Чудеса бывают крайне редко, обычно разработчик сам все эти «глюки» и наплодил.



0



8497 / 5287 / 563

Регистрация: 27.03.2013

Сообщений: 18,516

12.06.2020, 19:44

11

____, если просто копировать, то в системных таблицах останутся глюки и противоречия, ибо при сжатии БД они почему то не удаляются.

А если импортировать все объекты из БД в чистую, то системные таблицы создаются заново.
Особо это актуально когда много чего переделывает по несколько раз.
По крайней мере, мне это очень помогает, когда в творческом экстазе много чего понакуралесишь.



0



Модератор

Эксперт MS Access

11261 / 4592 / 739

Регистрация: 07.08.2010

Сообщений: 13,157

Записей в блоге: 4

12.06.2020, 20:37

12

____,
вы явно любитель подчеркиваний — может и формы/отчеты начинаете с подчеркиваний
когда-то и где-то я читала, что это вредно для здоровья программы

я применяю подчеркивания только в середине названий



0



Я создал базу данных на работе в Access 2010 с запросами, используя функции left(), right() и mid(). Затем я скопировал базу данных на свой домашний компьютер, но теперь эти функции не хотят работать с этой базой данных. На моем домашнем компьютере также установлен Access 2010. Каждый раз, когда я пытаюсь выполнить запрос, я получаю следующее сообщение: При компиляции этой функции произошла ошибка. Visual Basic содержит синтаксическую ошибку. Проверьте код и снова скомпилируйте его.

Я создал новую БД на своем компьютере дома, чтобы проверить функции, и у меня не было проблем. Я также заметил, что на моем домашнем компьютере заголовок гласит Database1: Database(Access 2007) — Microsoft Access, а на работе — База данных1: база данных (Access 2007–2010) — Microsoft Access. На обоих компьютерах установлена ​​Windows 7 Professional, моему домашнему компьютеру около 1 года, а моему рабочему компьютеру около 3 месяцев. Я тоже дома обновил/починил Access, но БД все равно не хочет работать. Как я могу решить эту проблему?

У меня есть простая таблица с именем Table1 со столбцом id и столбцом с именем Name,

id  Name 
1  Jason
2  Casey
3  Shasha

Теперь, если я хочу использовать функцию left() в запросе Access, я получаю сообщение об ошибке: При компиляции этой функции произошла ошибка. Visual Basic содержит синтаксическую ошибку. Проверьте код и снова скомпилируйте его.

Запрос:

Select Left([Name],2) As Short_name From Table1

3 ответа

Вы хотите, пока в редакторе VBA перейдите к инструментам-> ссылки и найдите отсутствующую ссылку.

Вероятно, у вас есть ссылка на какое-то программное обеспечение (скажем, слово), которого нет на целевой машине.

«Шаг за шагом» просмотра этих неработающих ссылок описан здесь:

http://www.accessmvp.com/djsteele/AccessReferenceErrors.html

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


3

Albert D. Kallal
8 Дек 2014 в 05:00

У меня была эта проблема при наличии 64-битного офиса и 32-битного доступа… (why? is another question)

Исправил это, зайдя в редактор VBA и снова и снова нажимая «скомпилировать», что привело меня к оскорбительным 32-битным функциям, которые требовали добавления ptrsafe в объявления функций. (Да, я опасно добавил его, не задумываясь.) И тогда Access был счастлив.

Т.е. ,

Private Declare Function GetUserName _
   Lib "advapi32.dll" Alias "GetUserNameA" _
   (ByVal lpBuffer As String, nSize As Long) _
   As Long

Становится

Private Declare PtrSafe Function GetUserName _
   Lib "advapi32.dll" Alias "GetUserNameA" _
   (ByVal lpBuffer As String, nSize As Long) _
   As Long

Я могу только догадываться, что VBA моего 32-битного доступа пытается скомпилировать для 64-битного, потому что я установил именно эту офисную версию.


0

Cody G
16 Авг 2017 в 20:39

Точно такая же проблема с простыми строковыми функциями, используемыми в запросе…

Исправление было другим: я скопировал модуль VBA (функция, совершенно не связанная с использованием Left(«FFFF»,2) в запросе).

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


0

John Keith
18 Июл 2018 в 00:24

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Ошибка при компиляции скетча ардуино
  • Ошибка при компиляции программы