コンボボックス|リストボックスに(ALL)を表示させるには



コンボボックスを例に一覧リストの先頭に任意の文字列(ALL,全て、全件、その他...)を表示させる方法を解説します。ここでは、任意の文字列を追加するのにUNIONクエリーを使用しています。

  1. Access 97のサンプルデータベースNorthwind.mdbを開きます。

  2. データベースウインドウのフォームのタブをクリックしたら新規作成のボタンをクリックします。

  3. フォーム上に得意先コードと得意先名を表示するコンボボックスを作成します。
    Forms_Expert_002_fig1
    図1-フォーム上にコンボボックスを作成した例
  4. コンボボックスのプロパティを次のように設定します。

    Object Property Setting
    Combo Box Name cboCustomer
    Column Count 2
    Column Heads No
    Column Widths 0cm;5cm
    Row Source Type Table/Query
    Row Source  
    Bound Column 1
  5. フォームのOpenイベントに以下のコードをコピー&ペーストします。

    Private Sub Form_Open(Cancel As Integer)
      With cboCustomer
        .RowSource = "SELECT 得意先コード, 得意先名" _
           & " FROM 得意先" _
           & " UNION" _
           & " SELECT 0 As 得意先コード, '(ALL)' As 得意先名" _
           & " FROM 得意先" _
           & " ORDER BY 得意先コード;"
        .Requery
      End With
    End Sub
     
  6. フォームをビューモードに切り替えて確認します。

    Forms_Expert_002_fig2
    図2-コンボボックスの一覧リストに(ALL)を表示させた例