2015-10-19 6 views
-2

Я пытаюсь изменить значение поля со списком, основанное на выборе другого блока. Пожалуйста, смотрите ниже код:Как я могу изменить значение Combo Box из другого Combo Box с помощью VBA?

Private Sub combo1_AfterUpdate() 



     If (Me.combo1.Value = "MHE") Then 
     Me.Combo2.Value = "SELECT * FROM Table1" 

     End If 

End Sub 
+0

Что случилось с кодом вы публикуемую? –

+0

@Ken White, я создал таблицы с разными данными s, и я хочу изменить значение поля со списком из другого поля со списком. Пример: когда я выберу значение MHE в первом комбо, я хочу, чтобы другое комбо выбирало данные из Таблицы 1 . Когда я выберу что-то еще, другое комбо выберет данные из таблицы2. Как это можно сделать с помощью VBA? –

+2

Ты этого не делаешь; вы назначаете строку, содержащую SQL (а не результаты выполнения этого оператора SQL). Сделайте выбор, выполните итерацию результатов и 'Add()' их в поле со списком. Есть буквально сотни (если не больше) примеров извлечения данных из запроса здесь; искать их. Быстрый поиск '[access-vba] combobox из базы данных 'появился [этот вопрос] (http://stackoverflow.com/q/22753894/62576) примерно через 1/2 секунды. –

ответ

1

Вы должны установить RowSource из выпадающего списка

If (Me.combo1.Value = "MHE") Then 
    Me.Combo2.RowSource = "SELECT * FROM Table1" 
    Me.Combo2.Requery 
End If 
+0

,, все еще не работает :( –

+0

Вы установили RowSourceType в таблицу/запрос? – Johanness

+0

Да, именно так, как вы объяснили –