У меня сложная база данных MS Access 2013 с десятками форм. На одной из форм у меня есть кнопка с обратной процедурой vba, которая возвращает значения из MS SQL (ADODB) и помещает их в текстовые поля.

Проблема в том, что всякий раз, когда я нажимаю эту кнопку, он переходит в меню компиляции, как если бы там был breakpoint, но на самом деле breakpoint там нет. Конечно, нет ошибок / MsgBoxes, и если я просто нажму F5 или F8, все пройдет хорошо. Есть у кого идея, что может быть не так?

4
Tedo G. 8 Сен 2016 в 16:03

4 ответа

Лучший ответ

Фантомные точки останова обычно можно исправить, скопировав строку, останавливающую выполнение кода, в блокнот. Затем удалите строку из VBEditor и снова вставьте ее из блокнота.

Если это не сработает, попробуйте декомпилировать базу данных:

Откройте cmd и введите следующее:

<full path to your database> /decompile

Пример:

C:\testDB.accdb /decompile
6
gizlmo 8 Сен 2016 в 13:09

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

Фантомные точки останова не исчезают после перезапуска.

Эта проблема существует уже много лет, но MS не решает ее. Раздражает!

0
Kent Gorrell 9 Сен 2016 в 02:49

Phantom Breakpoint снова атакует :(

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

У меня Access 2010 ACCDE выдает ту же ошибку: «Запрошенная библиотека типов или мастер не является проектом VBA», когда я нажимаю кнопку в основной форме навигации. Я пробую более раннюю версию с теми же ссылками и точно таким же кодом (в форме навигации и других областях, связанных с кнопкой), и она отлично работает. Однако когда я открываю ACCDB, использованную для создания «плохого» ACCDE, и нажимаю ту же кнопку, я получаю другую ошибку: Ошибка 16 - «Выражение слишком сложное».

Я исправил проблему, закомментировав связанные строки VBA в форме навигации и продублировав раскомментированный код под исходными строками.

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

Моя стандартная практика сейчас - использовать «Очистить все точки останова» (в меню «Отладка») после всех сеансов разработки. Надеюсь, это предотвратит это в будущем.

0
OpenMike 12 Июн 2019 в 15:09

Насколько я помню, фантомная точка останова была проблемой для нескольких версий. Между этим и новой вещью, когда окно кода активируется, просто перемещаясь по нему - даже если вы не щелкаете в этом окне - я не уверен, что смогу больше выносить «Улучшения». Черт возьми, программа чертовски хорошо работала около трех версий назад! Честно говоря, они добавили новый «вздор» - альтернативные цвета в строках отчета или другие данные в таблицах - я не использую ничего из этого и трачу больше времени на удаление альтернативных цветов строк, когда мне это не нужно!

Исправляйте больше ошибок и тратьте меньше времени на новые функции !!!

0
BrianDP 3 Ноя 2020 в 19:18