次の方法で共有


Control.Selected プロパティ (Access)

Visual Basic の Selected プロパティを使用して、項目が選択されているかどうかを判断します。 読み取り/書き込みが可能な Long です。

構文

選択済み (lRow)

Control オブジェクトを表す変数。

パラメーター

名前 必須 / オプション データ型 説明
lRow 必須 長整数型 (Long) リスト ボックスの項目です。 最初の項目が 0、2 番目の項目が 1、以降同様の値になります。

注釈

Selected プロパティは、リスト ボックス内の各項目の選択状態を示す、添字が 0 から始まる配列です。

Setting 説明
True リスト ボックスの項目は選択されています。
False リスト ボックスの項目は選択されていません。

このプロパティは、実行時のみ使用可能です。

リスト ボックスのコントロールの " MultiSelect /複数選択" プロパティが [None/しない] に設定されている場合、 Selected プロパティが True になる項目は 1 つだけです。 リスト ボックスのコントロールの " MultiSelect /複数選択" プロパティが [Simple/標準] または [Extended/拡張] に設定されている場合、複数またはすべての項目の Selected プロパティが True になります。 フィールドに連結された複数選択のリスト ボックスの Value プロパティは Null に設定されています。 Selected プロパティまたは ItemsSelected コレクションを使用して、どの項目が選択されたかという情報を取得します。

Visual Basic を使用してリスト ボックス内の項目を選択するには、 Selected プロパティを使用します。 たとえば、次の使用例では、リストの 5 番目の項目を選択します。

Me!Listbox.Selected(4) = True

次の例では、 Selected プロパティを使用して 、lstSource リスト ボックス内の選択した項目を lstDestination リスト ボックスに移動します。 lstDestination リスト ボックスの RowSourceType プロパティは値リストに設定され、コントロールの RowSource プロパティは lstSource コントロール内の選択したすべての項目から構築されます。 lstSource リスト ボックスの MultiSelect プロパティが Extended に設定されています。 CopySelected( ) プロシージャは、 cmdCopyItem コマンド ボタンから呼び出されます。

Private Sub cmdCopyItem_Click() 
 CopySelected Me 
End Sub 
 
Public Sub CopySelected(ByRef frm As Form) 
 
 Dim ctlSource As Control 
 Dim ctlDest As Control 
 Dim strItems As String 
 Dim intCurrentRow As Integer 
 
 Set ctlSource = frm!lstSource 
 Set ctlDest = frm!lstDestination 
 
 For intCurrentRow = 0 To ctlSource.ListCount - 1 
 If ctlSource.Selected(intCurrentRow) Then 
 strItems = strItems & ctlSource.Column(0, _ 
 intCurrentRow) & ";" 
 End If 
 Next intCurrentRow 
 
 ' Reset destination control's RowSource property. 
 ctlDest.RowSource = "" 
 ctlDest.RowSource = strItems 
 
 Set ctlSource = Nothing 
 Set ctlDest = Nothing 
 
End Sub

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。