使って創ってApp

ソフトウェアを使ったり作ったりするブログです

Accessのリストボックスの行が選択されているか調べる

Accessのリストボックスの行が、一つでも選択されているか調べる方法を紹介します。

開発環境

選択されているかを調べる

複数選択可能かどうかでやり方が異なります。フォーム内のリストボックス名を lb として、vba のコードを書きます。

複数選択可能なリストボックスの場合

リストボックスの ItemsSelected プロパティにアクセスします。ItemsSelected プロパティは Variant型変数の配列を返し、リストボックス選択行のインデックスを格納しています。配列なので、Countプロパティにアクセスできますね。

If Me.lb.ItemsSelected.Count = 0 Then
  ' 何も選択されていない
End If

単一選択なリストボックスの場合

リストボックスの ListIndex プロパティにアクセスします。ListIndex プロパティは、リストボックスで選択されている行数から1を引いた値を返します。何も選択されていなければ、 0 - 1 で -1 を返します。

If Me.lb.ListIndex = -1 Then
  ' 何も選択されていない
End If