Accessのリストボックスの行が選択されているか調べる
Accessのリストボックスの行が、一つでも選択されているか調べる方法を紹介します。
開発環境
選択されているかを調べる
複数選択可能かどうかでやり方が異なります。フォーム内のリストボックス名を lb として、vba のコードを書きます。
複数選択可能なリストボックスの場合
リストボックスの ItemsSelected プロパティにアクセスします。ItemsSelected プロパティは Variant型変数の配列を返し、リストボックス選択行のインデックスを格納しています。配列なので、Countプロパティにアクセスできますね。
If Me.lb.ItemsSelected.Count = 0 Then
' 何も選択されていない
End If
' 何も選択されていない
End If
単一選択なリストボックスの場合
リストボックスの ListIndex プロパティにアクセスします。ListIndex プロパティは、リストボックスで選択されている行数から1を引いた値を返します。何も選択されていなければ、 0 - 1 で -1 を返します。
If Me.lb.ListIndex = -1 Then
' 何も選択されていない
End If
' 何も選択されていない
End If