Я надеюсь, что кто-то может помочь мне или, по крайней мере, помочь найти обходной путь.
Я использую функцию разделенной формы 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