値(行)を複数選択できる非連結リストボックス

 フォーム上の非連結リストボックスについてです。
 テーブルではフィールドの「表示コントロール」プロパティをリストボックス(またはコンボボックス)にし、「複数の値の許可」プロパティを「はい」にすることで、複数の値を記録できるようになりますが、フォームの非連結リストボックスでも同じようなことができます。

手順

f:id:accs2014:20190420034450p:plain:right:w450

 2つの列を持つ非連結リストボックスを設置したところです。

f:id:accs2014:20190420034447p:plain:right:w550

 そこでこのリストボックスの「複数選択」というプロパティの値を変えます。
 デフォルトでは「しない」ですが「標準」または「拡張」にすることにより複数の値(行)を選択できます。
 「標準」と「拡張」の違いは次の通りです。

  • 標準……リストの各行をクリックすることで各行の選択・非選択を個別に切り替えられます。こちらが扱いやすいです。
  • 拡張……ShiftまたはCtrlキーを押しながらクリックすることで選択行を追加できます(Shiftキーの場合は一括追加、Ctrlキーの場合は1つ1つ追加)。普通にクリックした場合、それまで選択されていた行の選択状態がすべて解除されるため注意が必要です。

f:id:accs2014:20190420034445p:plain:right:w450

 設定後、実際に複数の行を選択している様子です。 

備考

f:id:accs2014:20190420034442p:plain:right:w450

 冒頭の説明のようにテーブルにて複数の値を選択できるフィールドを設け、フォーム上に連結リストボックスとして置いた場合、このような見た目がちょっと異なるものになります。実は見た目だけでなく取り扱いも微妙に異なるものとなります。
 例えば、このリストボックスはテーブルでもフォームでも「列数」プロパティの値は「2」なのですが、チェックボックスが加わっているためColumnプロパティで参照する場合に参照すべき列番号が(上記のような非連結の場合と比べて)1つずれます;-o-)
 これについては、複数選択値の取得に関する次の記事でも触れていますのでどうぞ。

www.accessdbstudy.net