推しミネラルウォーターはありますか?

フォームのコンボボックスで値の代入をしました。
それぞれのデータは出てくるのですが、コンボボックスに“ すべて”を追加してソートなしのデータを表示させたいです。
良い方法はないでしょうか?

A 回答 (1件)

なんのアプリの話でしょうか。


コンボボックスで選択リストから何かを選択したとき、フォーム上の何がどのようになるのが理想なのでしょうか。
その機能は現在どのように処理させているのでしょうか。
ここから先は私の勝手な妄想なので全く希望に沿わない可能性があります。

------------------
アプリケーションは Access を使用。
連絡先の一覧を格納しているテーブル [Addresses] がある。
連絡先一覧を表示させるためのフォーム [AddressesForm] がある。
フォームのレコードソースは [Addresses] をそのまま使用。
フォームで表示している列の中に部署名のフィールドである [Division] がある。
Division 列の値は人によっては 「●●部」だったり「●●部 ●●課」だったり「●●部 ●●課 ●●係」だったり違いがある。

フォームのヘッダー部分にコンボボックスを設置し、部署名を選択できるようにしたい。
コンボボックスの選択リストは "部" の名称一覧を入れてある。(●●部)
さらに、部名のほかに 「すべて」 というキーワードも追加してある。
コンボボックスで部名を選ぶと、Division 列が「その部名から始まる」レコードだけを表示するようにしたい。
「すべて」を選択した場合はすべてのレコードが表示されるようにしたい。
------------------

フォーム AddressesForm をデザイン モードで開く。
ヘッダー部分にコンボボックスを設置し、プロパティ シートの [その他] のタブの [名前] でコンボボックスの名前を combDivisionFilter に変更する。
プロパティ シートの [イベント] にある [変更時] を選択し、[…] をクリック。[ビルダーの選択] から 「コード ビルダー」を選択して [OK] をクリック。
VBA のエディターが開く。
Private Sub combDivisionFilter_Change()
End Sub
というコードが生成されるので、下記のように変更する。

Private Sub combDivisionFilter_Change()
 Dim filterValue As String

 filterValue = combDivisionFilter.Value
 If filterValue = "すべて" Then filterValue = "*"

 Form.Filter = "Division Like '" & filterValue & "*'"
 Form.FilterOn = True
End Sub
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す


おすすめ情報