0

3つのコンボボックスがあります:cbo_prefRoom1、cbo_prefRoom2、cbo_prefRoom3

フォームの初期化では、 cbo_prefRoom2cbo_prefRoom3が無効になります。

ユーザーがcbo_prefRoom1でオプションを選択すると、 cbo_prefRoom2が有効になります。ユーザーがcbo_prefRoom2でオプションを選択すると、 cbo_prefRoom3が有効になります。

私がやりたいのは、ユーザーがcbo_prefRoom1でオプションを選択した場合No Preferencecbo_prefRoom2cbo_prefRoom3が同じ値で更新されるインスタンスを追加することです。次に、ユーザーがcbo_prefRoom1のオプションを変更するまで、cbo_prefRoom2とcbo_prefRoom3は無効なりますNo PreferenceNo Preference

これの2番目のインスタンスもあります。ユーザーがcbo_prefRoom2でオプションを選択するNo Preference、cbo_prefRoom3同じ値で更新されて無効になります。次に、ユーザーがcbo_prefRoom2のオプションを変更するまで、cbo_prefRoom3は無効になりますNo PreferenceNo Preference

これを達成するにはどうすればよいですか?

Private Sub cbo_prefRoom1_Change()

' When user selects an option in cbo_prefRoom1 then cbo_prefRoom2 is enabled
    With cbo_prefRoom2
        .Enabled = Len(cbo_prefRoom1.Value) > 0
            If Not .Enabled Then
                .ListIndex = -1
            End If
    End With

End Sub

Private Sub cbo_prefRoom2_Change()

' When user selects an option in cbo_prefRoom2 then cbo_prefRoom3 is enabled
    With cbo_prefRoom3
        .Enabled = Len(cbo_prefRoom2.Value) > 0
            If Not .Enabled Then
                .ListIndex = -1
            End If
    End With

End Sub
4

1 に答える 1

1

このようなもの?cbo_prefRoom2同じアイデアを採用して、クリックイベントのイベントに移動することもできます。

If cbo_prefRoom1.Value = "No Preference" Then
  cbo_prefRoom2.value = "No Preference"
  cbo_prefRoom3.value = "No Preference"
Else
  With cbo_prefRoom2
    .Enabled = Len(cbo_prefRoom1.Value) > 0
    If Not .Enabled Then
      .ListIndex = -1
    End If
  End With
End If
于 2012-10-29T18:18:09.807 に答える