マイクロソフトアクセスで広がる世界

アクセスのTIPS集

オプショングループとトグルボタンの組み合わせによるレコードの抽出

説明

表形式のフォーム上に全レコードが表示されている状態。ここで「分類」フィールドがあり、複数の 分類の値が記録されている場合に、分類の値ごとにボタンを設置してクリックすることで、分類に該当する レコードを抽出表示する仕組みである。作り方は「オプショングループ」コントロールに「トグルボタン」 コントロールを設置する。そしてトグルボタンをクリックしたときにフィルタ命令(メソッド)を機能させる。

手順

  1. 表形式の連結フォームを作成して、全レコードが表示できるようにしておく。
      例では
        抽出する為のフィールドを「契約区分」
        「分類」にある値は「有効」「無効」「不明」とする。

  2. フォームに「オプショングループ」コントロールを設ける。
         例では
    名前:[Flm_区分抽出]

  3. オプショングループ内にトグルボタンを設置
      例では4つ設置(「有効」「無効」「不明」「全て」)。
        「オプショングループ」コントロールの中に「トグルボタン」を4つ設置する。
        設置順にオプション値が1から順に2、3と自動的に付与される。

  4. オプションコントロールの更新後処理にイベントプロシージャを作成する。

     Private Sub Flm_区分抽出_AfterUpdate()
      Select Case Flm_区分抽出
        Case 1    'オプション値が「1」の時の処理
         Me.Filter = "契約区分 = '有効'"
         Me.FilterOn = True
        Case 2    'オプション値が「2」の時の処理
         Me.Filter = "契約区分 = '無効'"
         Me.FilterOn = True    
        Case 3    'オプション値が「3」の時の処理
         Me.Filter = "契約区分 = '不明'"
         Me.FilterOn = True    
        Case 4    'オプション値が「4」(全て)の時の処理
         Me.FilterOn = False
      End Select
     
     End Sub
      
  5. フォームビューにして、トグルボタンをクリックしてみよう。分類で指定した値を持つレコード のみが表示される。「全て」のボタンをクリックするとフィルタが解除されるので、全レコードが表示される。

(この項終わり)