1


0

Access 2007でコンボボックスの選択からフィールドの可視性を有効にする

SystemというMicrosoft Access 2007のフォームと、このフォーム内にUtilityというコンボボックスがあります。 この下には、Utility_FOOと呼ばれるもう1つのコンボボックスがあり、デフォルトではその可視性を無効にしています。 ユーティリティのオプションの1つは、「FOO」というラベルの付いたチェックボックスです。 FOOが選択されるたびにUtility_FOOが表示されるようにします。

リストから項目を選択するたびに(onUpdateを使用して)FOOが選択されているかどうかを確認するサブルーチンをVisual Basicで作成しようとしましたが、その特定のエントリを確認する方法がわかりません。 これを行う簡単な方法はありますか?

ありがとうございます。

1 Answer


1


コンボボックスが複数値フィールドにバインドされている場合、その.Valueプロパティを調べて、FOOが選択された(チェックされた)アイテムに含まれているかどうかを判断します。

Private Sub Utility_AfterUpdate()
    Call SetVisible
End Sub

Private Sub SetVisible()
    Dim varItm As Variant
    Dim blnVisible as Boolean

    blnVisible = False
    If Not IsNull(Me.Utility.Value) Then
        For Each varItm In Me.Utility.Value
            If varItm = "FOO" Then
                blnVisible = True
                Exit For
            End If
        Next varItm
    End If
    Me.Utility_FOO.Visible = blnVisible
End Sub

フォームのOn Currentイベントに対しても同じことをしたい場合があります。 その場合、これを追加します。

Private Sub Form_Current()
    Call SetVisible
End Sub