2013-06-12 5 views
0

У меня, кажется, проблема, которая выглядит очень ужасно, как будто это может быть ошибкой в ​​MS Access. У меня есть форма, которая перечисляет все строки в таблице и позволяет редактировать их в подчиненной форме. После нажатия кнопки «Сохранить» в подформе (стандартная кнопка «Сохранить», преобразованная в VBA), я хочу обновить список записей в основной форме. Я, кажется, сделали только, что с этим кодом:Обновить форму из обработчика событий subform

Parent!List0.Requery 
Parent!List0.Refresh 
Parent!List0.SetFocus 

Однако список записей кажется только для обновления с изменениями щелчкнуть где-то в поле, давая ему фокус.

Может кто-нибудь столкнется с этим, или у кого-нибудь есть какие-либо предложения относительно того, как это решить?

+1

Я не могу воспроизвести проблему, по крайней мере, не в Access 2010. Мне пришлось прокомментировать инструкцию 'Parent! List0.Refresh', потому что это вызывало ошибку во время выполнения (« Object не поддерживает это свойство или метод »), но как только я сделал это, окно списка было правильно обновлено, как только я нажал кнопку на подчиненной форме. Здесь должно быть что-то еще. Возможно, у вас есть обработка ошибок, которая «поглощает» полученную ошибку времени выполнения? –

+0

Ничего себе. Довольно близко. Преобразование из встроенных макросов в VBA создало некоторые обработчики ошибок (которых я не заметил), и я случайно поставил код выше в одном из них (в конце Sub). Следовательно, он не был выполнен. –

ответ

1

Я не могу воспроизвести проблему, по крайней мере, в Access 2010. Мне пришлось прокомментировать заявление Parent!List0.Refresh, потому что это вызывало ошибку во время выполнения («Объект не поддерживает это свойство или метод»), но один раз Я сделал, что поле «Список» было правильно обновлено, как только я нажал кнопку на подформе. Здесь должно быть что-то еще. Возможно, у вас есть обработка ошибок, которая «поглощает» полученную ошибку времени выполнения?

Установите точку останова в начале кода Button_Click() и проследуйте дальше. Возможно, ваш код не работает так, как вы думаете.

1

Избавьтесь от инструкции Refresh, это необязательно. Вероятно, вы получите ошибку времени выполнения, потому что это свойство не поддерживается.

Смежные вопросы