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



コンボボックスを例に一覧リストの先頭に任意の文字列(ALL、全て、その他.....)を表示させる方法を解説します。

  1. Access97のサンプルデータベースNorthwind.mdbを開きます。
  2. データベースウインドウが表示されたらフォームのタブをクリックして新規作成のボタンをクリックします。

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

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

    Private Sub Form_Open(Cancel As Integer)
      Dim db As Database
      Dim rs As Recordset
      Dim strSQL As String
      Dim strFill As String
      
      strSQL = "SELECT 得意先コード, 得意先名" _
             & " FROM 得意先" _
             & " ORDER BY 得意先コード;"
      Set db = CurrentDb
      Set rs = db.OpenRecordset(strSQL, dbOpenSnapshot)
      With rs
        strFill = "NULL;(ALL);"
        Do Until .EOF
          strFill = strFill & !得意先コード & ";" & !得意先名 & ";"
          .MoveNext
        Loop
      End With
      rs.Close
      db.Close
      
      With cboCustomer
          .RowSource = strFill
          .Requery
      End With
    End Sub
     
  6. フォームをビューモードに切り替えて確認します。

    Forms_Intermediate_004_fig2
    図2-コンボボックスに(ALL)を表示させた例