Access 2007 Form Form VBA: AcnewRec On Open предотвращает табуляцию через форму - действует как первое поле, не «выбрано»

StackOverflow https://stackoverflow.com/questions/4047422

Вопрос

Я надеюсь, что кто-то может помочь мне или хотя бы помочь выяснить обходной путь.

Я использую Access Flate Form Form, использующую доступ в 2007 году, и приведен код ниже на мероприятии form_open, а также после двух событий кнопки krick. Код работает нормально, когда выполняется после выполнения событий кнопки_писки, но когда он работает на событии form_open, он вызывает проблемы.

Если форма открыта, и пользователь вводит текст в первом поле, он не может использовать вкладку или мышь, чтобы выбрать следующую форму формы. Пользователь застрял на первом поле формы до нажатия ESC, чтобы отменить запись данных. Чтобы успешно ввести данные в поле первой формы, когда форма открыта, пользователь должен сначала выбрать другое поле формы, затем повторно выберите первое поле формы, затем введите текст в поле первой формы. После этой ерунды пользователь может выбрать следующую форму формы с вкладкой или мышью. Это должно быть выполнено один раз каждый раз, когда форма запущена. Тот же код VBA на кнопочных событиях работает нормально.

Примечание. Когда форма сначала открывается, ни одна из полей формы в разделе таблицы данных отображаются «Выбранные». Когда пользователь начинает вводить данные в первом поле формы, «новая запись» маркера (*) перемещается ко второму ряду, как следует, но первая строка не отображает ввод данных. Это поведение странно.

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

Есть идеи? Это ошибка? Есть ли простой обходной путь, например, выполнение полевой обработки поля VBA в открытой форме?

Любая помощь горячо приветствуется.

Код:

DoCmd.ApplyFilter , "([Contractor].[CheckOutStamp] Is Null)"
DoCmd.GoToRecord , "", acNewRec

Ссылка на MDB:https://docs.google.com/Leaf?id=0b-jx09cwiqdsywm2mzmzmdqtyjuzni00n2e5lwfjytktnzfiywyzmdzywu1&hl=en&authkey=cppmomef.

Это было полезно?

Решение

Некоторые мысли:

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

Кроме того, вы можете просто установить свойство фильтра формы в [Contractor].[CheckOutStamp] Is Null И установите фильтр «Да» и установите форму в DACHINGENTRY, что означает, что она означает по умолчанию для новой записи на открытой и не загружается ни одной из старых записей. Как только он будет открыт, вы можете изменить режим редактирования / добавления формы к тому, что вам нравится.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top