Вопрос по ms-access, access-vba, ms-access-2007, vba – Почему мой VBA для MS Access глючит?

8

Это довольно неопределенный вопрос, который трудно объяснить. Я пытаюсь закодировать свою базу данных доступа, но часть VBA действительно раздражает меня. Всякий раз, когда я набираю что-то и нажимаю пробел, он автоматически восстанавливает этот пробел и возвращает меня к предыдущему слову, которое я печатал. Кроме того, Intellisense появится на долю секунды, замигает и исчезнет, и вернет мой курсор к тексту, который я только что печатал. Это приводит к тому, что я постоянно печатаю вещи в местах, где их не должно быть, и нехватка пробелов между элементами моего кода. Кто-нибудь знает, почему это происходит? База данных, которую я использую, была создана в Access 2007, но я разрабатываю ее в 2010 году. На верхнем уровне написано Microsoft Access 2007-2010.

Спасибо за вашу помощь.

Это также полезно и может частично решить проблему, спасибо. Scotch
Также посмотрите это:stackoverflow.com/questions/1164138/… Siddharth Rout

Ваш Ответ

1   ответ
13

а.

Происходит то, что, когда вы редактируете свой код, код запускается с определенным интервалом. Каждый раз, когда выполняется другой код, запускается компилятор VBA.

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

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

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

У меня нет этой проблемы с любыми новыми базами данных, которые я создаю в Access 2010. Я сталкиваюсь с этой раздражающей проблемой только при работе с базой данных, которую я унаследовал (которая была создана в Access 2007). Это происходит только тогда, когда я работаю над кодированием для определенных форм, и нет ничего особенного, что я вижу в коде каждой формы, который заставлял бы его непрерывно компилироваться, пока я работаю над ним. Scotch
Спасибо за ваше объяснение. Это, кажется, решило это по большей части. Предыдущий разработчик использует скрытую форму с активным событием таймера, насколько я понимаю, чтобы отслеживать «глобальные переменные». В любом случае закрытие всех форм, похоже, решает проблему. Спасибо! Scotch
+1 Я также проголосовал за @ Скотта, чтобы ФП мог голосовать.
@ Scott У вас та же проблема с новой пустой базой данных или она ограничена этой конкретной базой данных?
Ваш правильный ответ принят. По какой-то причине формы без таймеров все еще вызывают эту проблему. Это немного расстраивает, когда приходится закрывать эти формы, пока я пишу код. Это облегчение, печатая этот ответ, поскольку мне не нужно нажимать клавишу пробела и сбрасывать курсор :) Scotch

Похожие вопросы