2015-03-25 5 views
0

Пожалуйста, будьте осторожны, я новичок в доступе, но я пытаюсь создать список вниз, который открывает формы. Я сделал честный поиск Google и ничего не нашел.Доступ - раскрывающийся список Открытая форма

В моем ComboBox как на «После обновления», так и на «Вкл.» Я пробовал код ниже ... Как с данными, так и без них в моем выпадающем списке.

Private Sub Combo1_AfterUpdate() 

    Select Case Combo1.Value 

     Case "Menu1" 
      DoCmd.OpenForm "Form1" 
     Case "Menu2" 
      DoCmd.OpenForm "Form2" 
     Case "Menu3" 
      DoCmd.OpenForm "Form3" 
End Sub 

Я также пробовал;

DoCmd.OpenForm Combo1.Value 

и добавление имен моей формы в ComboBox, но это тоже не сработает.

Спасибо заранее.

.Lee

ответ

0

Я просто сделал вид, используя второй метод, который вы пытались. Я хотел подтвердить, что это точный код, который вы использовали:

Private Sub Combo1_AfterUpdate() 
DoCmd.OpenForm Combo1.Value 
End Sub 

Этот способ проще. (По крайней мере, с точки зрения кодирования VBA). Вы можете использовать вкладку дизайн, чтобы положить выпадающий на форму, затем выберите «Я буду вводить значения, которые я хочу» вы затем сделать две колонки:

Column1  Column2 
Form1 name Display Name1 
Form2 name Display Name2 
Etc. 

После того, как вы создали выпадающий список нажмите на combobox в представлении дизайна и перейдите на лист свойств (в вкладке «Дизайн») и измените ширину столбца на 0 », что скроет первый столбец, но значение все равно будет привязано к выделению. Важно отметить, что поле со списком должно это два столбца для работы этого метода, и когда вы вводите значения непосредственно в лист свойств на вкладке данных в источнике строки, будут отображаться те же значения («Form1 name», «Display Name1», «Form2 Name»; «Display Name2» и т. Д.). Этот код должен работать довольно легко, но имена форм должны быть точными или вызвать ошибку. Сообщите мне, если это работает для вас.

+0

Здравствуйте, rmh, спасибо, что вернулись ко мне. Я пробовал код: 'code' Private Sub Combo1_AfterUpdate() DoCmd.OpenForm Combo1.Value End Sub 'code', и он не работает. Я также попробовал то, что вы предложили, с двумя столбцами, и это тоже не работает :(... Я могу выбрать элементы из выпадающего списка, но когда я нажимаю (например, отображаемое имя 1), ничего не происходит я потерял что-то? – Lee

+0

Хмм ... Если имя формы написано неправильно, это породит ошибку, поэтому я предполагаю, что код не работает. Где вы размещаете код для этого? Вам нужно будет открыть форму в окне просмотра нажмите на поле со списком, перейдите в лист свойств на вкладке проекта, а затем на вкладке событий нажмите на текстовое поле после обновления, затем нажмите кнопку «...». Это спросит вас, какой строитель вы хотите используйте, и вы выберете конструктор кода. Он автоматически добавит первую и последнюю строку, поэтому вам просто нужно добавить DoCmd.OpenForm Combo1.Value в середине (если имя Combo Box «Combo1». – rmh

+0

Здравствуйте. OK ... Я понятия не имею, почему он работает с недавно созданной базой данных ... но это так - и это не работает в моей текущей базе данных. У меня будет игра, но большое вам спасибо за все ваше время и помощь. Cheers, Lee – Lee

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