#ms-access
#ms-access
Вопрос:
В настоящее время у меня есть форма в базе данных Access 2007 с выпадающим списком, в котором, если не щелкнуть выпадающий список, я не хочу, чтобы он фокусировался. Это работает большую часть времени, когда пользователь нажимает на выпадающий список, а затем выбирает строку, это вызовет AfterUpdate
событие, и поэтому я могу просто изменить фокус с помощью этого.
Однако моя проблема в том, что, когда пользователь открывает выпадающий список, ничего не выбирает и нажимает, чтобы уйти. Выпадающий список исчезает, но выпадающий список по-прежнему находится в фокусе.
Мне интересно, есть ли какое-либо событие, которое я пропускаю, которое будет охватывать это, или какой-либо обходной путь, чтобы заставить это работать.
Спасибо
Ответ №1:
Попробуйте установить событие в разделе сведений о форме. Что-то вроде
Private Sub Detail_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Me.WhereverYouWant.SetFocus
End Sub
Комментарии:
1. Спасибо. Это было то, чем я занимался. Мне нужно было еще несколько событий из других источников (заголовок, нижний колонтитул и т. Д.), И вместо записи
Me.<Control>.SetFocus
я сначала проверил, что выпадающий список является активным элементом управления, а затем вроде как отказался от этого. Это не идеально, если вы снова нажмете стрелку, она все равно не сработает. Я пытался это исправить, но мои решения, похоже, приводят к сбою Access, а затем перезапускаются, поэтому я, вероятно, оставлю его там. Еще раз спасибо.2. Я не понимаю, почему это не сработает, основываясь на том, что вы сказали. Я создал среду, и она работала просто отлично. Что касается сбоя доступа, вы уверены, что в форме нет другого события, которое запускается одновременно. Кажется, что где-то есть какой-то конфликт.