Я работаю над базой данных доступа 2010. Im довольно новичок в этом и не имеет большого знания VBA.looping через combox в форме доступа VBA
У меня есть форма (на основе запроса), отображающая в текстовом поле тестовую частоту определенных элементов. он называется «TestFrequency»
Затем у меня есть 3 комбинированных блока (по названию: Year1, Year2 и Year3, соответственно).
Я добавил кнопку и создал событие en "Onclick", что я пытаюсь сделать, это установить значение comboboxes в зависимости от значения testfrequency. Я также добавил несколько всплывающих окон сообщений, когда это событие будет завершено.
Im пытается с помощью следующего кода, но не работает:
Private Sub Reset_Click()
Dim Response As VbMsgBoxResult
Response = MsgBox("Do you want to reset planning to default test frequency?", vbQuestion + vbYesNo, "Planning Settings")
If Response = vbNo Then Exit Sub Else
Dim ctrl AS Controls
For Each ctrl From Me.Controls
If TestFrequency.Value = "Test Annually" Then
Me.Year1.Value = "Yes"
Me.Year2.Value = "Yes"
Me.Year3.Value = "Yes"
ElseIf TestFrequency.Value = "Test Every 2 years" Then
Me.Year1.Value = "No"
Me.Year2.Value = "Yes"
Me.Year3.Value = "No"
ElseIf TestFrequency.Value = "Test every 3 years" Then
Me.Year1.Value = "No"
Me.Year2.Value = "No"
Me.Year3.Value = "Yes"
ElseIf TestFrequency.Value = "Ad-hoc" Then
Me.Year1.Value = "No"
Me.Year2.Value = "No"
Me.Year3.Value = "No"
End If
Next ctrl
MsgBox "Settings were changed.", vbInformation
End If
End Sub
Может кто-нибудь, пожалуйста, помогите мне? благодаря!
Вам не нужно для цикла. И избавиться от 'Me.' как его внутри кодов формы. Я не понимаю вашу логику в представлении формы, не должен ли 'TestFrequency' быть ComboBox, а когда выбран/изменен, изменяет другие comboboxes (я бы использовал CheckBox для Year1, Year2, Year3)? – PatricK
Спасибо за ваш комментарий Патрик. что «TestFrequency» - это значение, вычисленное из другого запроса. Кроме того, я бы не нуждался в циклах, но когда я не использую цикл, он изменяется только для первого элемента формы (форма основана на запросе и содержит около 170 элементов). Наконец, причина, по которой я использую combobox в Year1, Year2 и Year3, заключается в том, что я хочу дать возможность пользователю настраивать, когда каждый предмет может быть протестирован (год 1, год2, год 3), в то время как кнопка клика является настройки по умолчанию. Спасибо! – Matos