2015-10-15 4 views
2

У меня есть пользовательская форма, которая должна отображать различные параметры на основе пользователя, открывающего форму. Некоторые из этих параметров должны быть включены только после того, как выделение было сделано в combobox, но я не могу найти способ заставить их обновляться после выбора выбора combobox. Что я использую:Включить командные кнопки на основе Combobox

Private Sub cbCharts_AfterUpdate() 
If Me.cbCharts Is "" Then 
    Me.bQuickEntry.Enabled = False 
    Me.bView.Enabled = False 
    Exit Sub 
ElseIf UserDep = "Quality Control" Then 
    Me.bQuickEntry.Enabled = True 
    Me.bView.Enabled = True 
    Me.bAdjust.Enabled = True 
Else 
    Me.bView.Enabled = True 
    Me.bQuickEntry.Enabled = True 
End If 
End Sub 

Где cbCharts является выпадающий в вопросе, и bQuickentry, bView и bAdjust находятся кнопки. Используя этот код, кнопки не включаются, пока я не щелкнул в другом месте формы, а не сразу после выбора. Затем, если я очищу поле со списком, зависает и должен быть принудительно закрыт.

Я попытался использовать Private Sub cbCharts_OnExit с тем же кодом, но он ничего не делает.

Я знаю, что я могу просто оставить все кнопки включенными и видимыми, добавьте шаг проверки к коду для каждой кнопки, чтобы убедиться, что есть действительный выбор со списком, прежде чем продолжить, но я бы предпочел включить и установить их видимость для предотвращения путаница пользователей, так как некоторые из этих кнопок не будут использоваться большинством пользователей электронных таблиц.

Что я делаю неправильно?

ответ

2

Попробуйте ввести код в функцию события cbCharts_Click(). Это событие запускается, как только пользователь выбирает элемент в списке.

+0

Спасибо, что отлично работали – Toast

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