Share via


ObjectFrame.ColumnCount プロパティ (Access)

ColumnCount プロパティを使用して、リスト ボックスまたはコンボ ボックスのリスト ボックス部分に表示される列の数を指定するか、グラフ コントロールまたはバインドされていないオブジェクト フレーム内の OLE オブジェクトに送信する列の数を指定します。 値の取得および設定が可能です。整数型 (Integer) の値を使用します。

構文

ColumnCount

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

注釈

ColumnCount プロパティの下限値は 1 です。上限値は、コントロールの " RowSource /値集合ソース" プロパティに指定されたテーブル、クエリ、または SQL ステートメントのフィールド数、または値リストの値の最大数です。

" DisplayControl /表示コントロール" プロパティがコンボ ボックスまたはリスト ボックスに設定されているテーブル フィールドの場合は、テーブルのデザイン ビューのフィールド プロパティ セクションにある [ ルックアップ ] で、このプロパティを設定できます。

たとえば、Employees フォームのリスト ボックスの ColumnCount プロパティを 3 に設定した場合、1 つの列は姓を一覧表示でき、もう 1 つの列は名を一覧表示でき、3 つ目は従業員 ID 番号を一覧表示できます。

コンボ ボックスまたはリスト ボックスには、複数の列を表示できます。 コントロールの " RowSource /値集合ソース" プロパティにテーブル、クエリ、または SQL ステートメントが指定されている場合、コンボ ボックスまたはリスト ボックスには、そのソースのフィールドが左から順に " ColumnCount /列数" プロパティで指定された値まで表示されます。

既存のソースにない組み合わせのフィールドを表示するには、新しいクエリまたは新しい SQL ステートメントを作成し、" RowSource /値集合ソース" プロパティにフィールドと順序を指定します。

" RowSource /値集合ソース" プロパティに値リストがある場合、つまり " RowSourceType /値集合タイプ" プロパティが [Value List/値リスト] に設定されている場合、値は " RowSource /値集合ソース" プロパティに収められている順番でコンボ ボックスまたはリスト ボックスの行および列に配置されます。 たとえば、" RowSource /値集合ソース" プロパティに "Red; Green; Blue; Yellow" というリストが設定され、" ColumnCount /列数" プロパティが 2 に設定されている場合、コンボ ボックスまたはリスト ボックスの最初の行の最初の列には "Red" が格納され、同じ行の 2 番目の列には "Green" が格納されます。 2 番目の行の最初の列には "Blue" が格納され、同じ行の 2 番目の列には "Yellow" が格納されます。

ColumnWidths プロパティを使用して、コントロールに表示される列の幅を設定するか、列を非表示にします。

次の使用例では、Column プロパティと "ColumnCount/列数" プロパティを使用して、リスト ボックスで選択された項目の各列の値を表示します。

Public Sub Read_ListBox() 
 
 Dim intNumColumns As Integer 
 Dim intI As Integer 
 Dim frmCust As Form 
 
 Set frmCust = Forms!frmCustomers 
 If frmCust!lstCustomerNames.ItemsSelected.Count > 0 Then 
 
 ' Any selection? 
 intNumColumns = frmCust!lstCustomerNames.ColumnCount 
 Debug.Print "The list box contains "; intNumColumns; _ 
 IIf(intNumColumns = 1, " column", " columns"); _ 
 " of data." 
 
 Debug.Print "The current selection contains:" 
 For intI = 0 To intNumColumns - 1 
 ' Print column data. 
 Debug.Print frmCust!lstCustomerNames.Column(intI) 
 Next intI 
 Else 
 Debug.Print "You haven't selected an entry in the " _ 
 & "list box." 
 End If 
 
 Set frmCust = Nothing 
 
End Sub

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

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