Я надеюсь, что кто-то может помочь мне или, по крайней мере, помочь найти обходной путь.
Я использую функцию разделенной формы Access 2007 и запускаю приведенный ниже код для события Form_Open, а также после двух событий button_click.Код работает нормально при запуске после событий button_click, но когда он запускается по событию form_open, это вызывает проблемы.
Если форма открыта и пользователь вводит текст в первое поле, он / она не может использовать клавишу Tab или мышь для выбора следующего поля формы.Пользователь застревает в первом поле формы до нажатия клавиши Esc, чтобы отменить ввод данных.Чтобы успешно ввести данные в первое поле формы, когда форма открыта, пользователь должен сначала выбрать другое поле формы, затем повторно выбрать первое поле формы, а затем ввести текст в первое поле формы.После этой ерунды пользователь МОЖЕТ выбрать следующее поле формы с помощью Tab или мыши.Это должно выполняться один раз при каждом запуске формы.Тот же код VBA для событий button_click работает нормально.
Примечательно: при первом открытии формы НИКОГДА из полей формы в разделе таблицы не отображается «Выбрано».Когда пользователь начинает вводить данные в первое поле формы, маркер «новая запись» (*) перемещается во вторую строку, как и должно быть, но в первой строке не отображаются вводимые данные.Это нечетное поведение.
После выполнения поля очистки щелкните другое поле, вернитесь к первому обходному пути, описанному выше, в таблице данных отображаются правильно выбранные поля и данные в том виде, в котором они вводятся.
Есть идеи?Это ошибка?Есть ли простой обходной путь, такой как выполнение обхода выбора поля через VBA при открытии формы?
Любая помощь очень ценится.
Код:
DoCmd.ApplyFilter , "([Contractor].[CheckOutStamp] Is Null)"
DoCmd.GoToRecord , "", acNewRec
Ссылка на mdb: https://docs.google.com/leaf?id=0B-jx09cwIQDsYWM2MzMzMDQtYjUzNi00N2E5LWFjYTktNzFiYWYzMDZiYWU1&hl=en&authkey=CPPmoMEF