|
Работа с активным элементом в форме
|
|||
---|---|---|---|
#18+
Здравствуйте все! Я занимаюсь созданием приложений в Access'03 на основе баз данных на сервере (M SQL 2005). Столкнулся с такой проблемой. В некоторых случаях нужно дождаться полной загрузки формы, чтобы можно было обратиться к (произвольному) активному элементу этой формы. Я включаю в обработчик события Sub Form_Open команду Me.SetFocus, и все прекрасно срабатывает. Но бывает нужно из одной открытой формы (не закрывая ее) открыть другую с таким же обработчиком события, и вот тут выдается сообщение «2474: Введенное выражение требует, чтобы элемент управления находился в активном окне». Это сообщение информационное, после нажатия ОК вторая форма работает как надо. То же самое происходит, когда открывается третья, четвертая (такое бывает нужно по существу обработки данных), но все же хотелось бы от этого избавиться. Кто знает, подскажите – как. Заранее спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2008, 12:41 |
|
Работа с активным элементом в форме
|
|||
---|---|---|---|
#18+
импользуй перехват ошибки плюс очистку стека ошибок ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2008, 12:46 |
|
Работа с активным элементом в форме
|
|||
---|---|---|---|
#18+
Me.SetFocus - в топку! Форма при открытии получает и фокус. Проблема, видимо, не в том. Надо конкретнее описать события, которые приводят к ошибке. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2008, 12:56 |
|
Работа с активным элементом в форме
|
|||
---|---|---|---|
#18+
Rivkin DmitryMe.SetFocus - в топку! Форма при открытии получает и фокус. Проблема, видимо, не в том. Надо конкретнее описать события, которые приводят к ошибке. Уточнение, событие GotFocus у формы происходит только в случае если она не имеет доступных элементов управления. В остальном согласен - Me.SetFocus - в топку! ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2008, 13:20 |
|
Работа с активным элементом в форме
|
|||
---|---|---|---|
#18+
MS_4G... Я включаю в обработчик события Sub Form_Open команду Me.SetFocus, и все прекрасно срабатывает. ... Это очень плохо, что срабатывает: вы допустили жесткую ошибку, а акцесс, вместо того, чтобы просто сказать вам - использование Me.SetFocus недопустимо в событии Form_Open - валяет дурака - прикладывает все доступные ему усилия ( включая перепутыание последовательности событий) для того, чтобы оно сработало. И оно иногда даже работает, к сожалению. Вводя вас в заблуждение относительно работоспособности кода. Если вы хотите писать надежные программы - не используйте Me.SetFocus ни в событии Form_Open, ни в событии Form_Load. Если вам позарез надо - поместите его в Form_Load. По крайней мере - избежите перепутывания последовательности событий. Только обязательно перед этим прочитайте справку на метод SetFocus. Иначе, боюсь, вам не избежать следующей серии вопросов - поместил в Form_Load, там у меня еще вот что - почему тут тарарам, а там нет.... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.05.2008, 14:17 |
|
|
start [/forum/topic.php?fid=45&gotonew=1&tid=1643330]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
27ms |
get topic data: |
10ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 252ms |
total: | 378ms |
0 / 0 |