Хотите, чтобы в списке отображалось 1-10, но то, что показано в раскрывающемся списке, зависит от другого элемента списка - PullRequest
0 голосов
/ 02 июля 2019

Я хочу создать поле со списком (поле со списком B) в форме доступа, содержащей цифры 1-10. Другими словами, раскрывающийся список показывает номера 1-10 последовательно.

Однако то, что показано в раскрывающемся списке, зависит от поля со списком A.

  • Если x отображается в поле со списком A, элементы 1-10 должны отображаться в поле со списком B.
  • Если в поле со списком A отображается y, цифры 1-5 должны отображаться только в поле со списком B или, как минимум, не позволять кому-либо выбирать 6 или больше.
  • Если в поле со списком A отображается z, в поле со списком B ничего нельзя выбрать.

Мои навыки кодирования ржавые, так как я мало что сделал за 10 лет. Это легко достижимо в Access или мне понадобится VBA для помощи?

1 Ответ

0 голосов
/ 02 июля 2019

Предполагая, что ваш вопрос не просто надуманный пример, и что вы действительно хотите отобразить целые числа 1-10 и 1-5 в своем комбинированном списке, тогда в простейшем виде вы можете использовать следующую функцию, вычисленную наAfter Update событие вашего поля со списком 'A' и On Load событие вашей формы:

Function UpdateComboRowSource(cmbCom As ComboBox, ByVal strVal As String)
    cmbCom.RowSourceType = "Value List"
    Select Case LCase(strVal)
        Case "x":  cmbCom.RowSource = "1;2;3;4;5;6;7;8;9;10"
        Case "y":  cmbCom.RowSource = "1;2;3;4;5"
        Case Else: cmbCom.RowSource = ""
    End Select
End Function
Private Sub Form_Load()
    UpdateComboRowSource ComboB, ComboA.Value
End Sub
Private Sub ComboA_AfterUpdate()
    UpdateComboRowSource ComboB, ComboA.Value
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...