Почему команда "Стоп" не приостанавливает выполнение кода access VBA ?
Я работаю с исходным кодом (файл.accdb) ранее разработанного проекта Access 2010, чтобы внести некоторые изменения и модификации, требуемые пользователями, и у меня возникают определенные проблемы, когда я пытаюсь запустить его (из исходного кода) и попытаться отладить поток выполнения через модули системы.
Я заметил, что код доступа VBA не сохраняет точки останова, которые я устанавливаю при сохранении проекта, точно так же, как это делал Visual Basic 6.0 (или NET, я плохо помню). Итак, я должен снова загрузить базу данных, удерживая клавишу shift, которая, как я теперь знаю, переопределяет выполнение начального макроса autoexec и загрузку настраиваемой ленты опций. Это единственный способ, которым я могу взаимодействовать с кодом VBA как программист, насколько я видел до сих пор.
Я добавил команду" Stop "к паре модулей в коде, пытаясь имитировать точку останова во время выполнения (все еще в исходном файле), но работает только первая, которую я установил в одном из модулей, выполняемых макросом autoexec, а не вторая, которую я установил в процедуре, запущенной, когда пользователь выбирает опцию на настраиваемой ленте и триггеры XML-тега" onAction". Этот модуль находится вне диапазона макроса autoexec; это единственная "конкретная" точка, которую я замечаю.
Есть ли другой способ запустить всю систему через файл. accdb, не используя клавишу shift ? (начиная, как установлено, с макроса autoexec)
Я посылаю копию кода, который не работает. Предыдущий Msgbox перед "остановкой" работает хорошо, поэтому я не знаю, почему следующий "стоп" терпит неудачу (просто не приостанавливает выполнение). Я очень ценю вашу помощь.
Вот код:
Суб OnActionTglButton(контроля методом iribboncontrol, давили, как логическое)
'Callbackname в XML-файле" onAction"
'Обратный вызов для события нажатия кнопки переключения
MsgBox "Quitar éste mensaje", vbCritical, " basRibbonCallbacks"
Стоп
Выберите случай-контроль.Идентификатор
Дело "tgbclientes"
В разделе: tabclientes
'В группе: grpclientes
parms(6) = min_pedido()
Если параметр (125) = 1, то
DoCmd. RunSQL ("UPDATE dbo_restricciones SET formulario='f_clientes' " & _
"Где programa_id=9")
Еще
DoCmd. RunSQL ("UPDATE dbo_restricciones SET formulario='f_clientes_america' " & _
"Где programa_id=9")
Конец, Если
......... продолжает
Что я уже пробовал:
Я пытаюсь изолировать проблему, возможно, открытый режим базы данных в Access имеет к этому какое-то отношение.
Если я:
1. - дважды щелкните исходную базу данных (. accdb) через Проводник Windows:
- Он скрывает меню по умолчанию и загружает пользовательскую ленту. Не выполняет команды "Стоп".
2. - Введите доступ-дважды щелкните исходную базу данных в том, что они называют backstage списка файлов:
- Он скрывает меню по умолчанию и загружает пользовательскую ленту. Не выполняет команды "Стоп".
3. - Введите доступ - Нажмите кнопку "Открыть" - выберите БД в диалоговом окне открыть файл:
- Он скрывает меню по умолчанию и загружает пользовательскую ленту. Не выполняет команды "Стоп".
4. - Введите доступ - загрузите БД, удерживая клавишу & lt;shift> - выполните макрос autoexec непосредственно или шаг за шагом:
- Не загружает настроенную ленту и не скрывает меню по умолчанию - первый оператор "стоп" работает нормально - второй оператор "стоп" просто не приостанавливает выполнение кода; вот чего мне действительно нужно добиться, чтобы увидеть следующий код, который будет выполнен, когда пользователь выберет опцию в настроенной ленте.