プロが教えるわが家の防犯対策術!

Access2000を使用しています。

検索フォームにおいて、コンボボックス内の項目を
選択し、コマンドボタンをクリックすることで検索出来
るように設定しています。

実現したいことはコンボボックス内の項目に"すべて"
という項目を追加してこの"すべて"を選択して検索すると
すべてのデータが表示されるようにしたいのです。

おそらく、関数やVBAを使用して設定するのではない
かと思うのですが設定のやり方が分かりません。
よいアドバイスをお願いします。

A 回答 (3件)

コンボボックスのリストは、テーブル/クエリリンク?SQL?リストを入力?


>コマンドボタンをクリックすることで検索
は、どのようにしています?

できるだけ詳しく、MacroやVBを使っているのならばそのスクリプトを可能な限り補足してください。

お望みの結果を出す方法はいくらでもあるので……。

この回答への補足

早速の御回答ありがとうございます。
「>コマンドボタンをクリックすることで検索
 は、どのようにしています?」
の補足ですけれども以下のように設定しています。
・コンボボックスのリストはテーブル/クエリで設定していて
 リスト用のテーブルがあってこれをリンクさせていま
 す。
 "すべて"を追加するのはリスト数が4つなので値リスト
 に変更すればすぐに追加できると思うのですが。
・検索用のクエリを使用して抽出条件に[from!検索フォーム!
 cboフィールド名]を設定しています。あいまい検索を
 する必要はありません。
・コマンドボタンはマクロで「レポートを開く」アクション
 で設定しています。フィルタ名やWhere条件式は設定
 していません。
以上のような設定をしています。
MacroやVBは初歩的なことは理解できます。
よろしくお願い致します。

補足日時:2003/12/02 16:05
    • good
    • 0

確認しとらんのですが、多分あってると思います。



リスト用のテーブルを以下のように変更します。

フィールド1(名前を仮に「表示用」とします)
フィールド2(名前を仮に「検索用」とします)
それぞれテキストです。
値は
表示用,検索用
すべて,*
検索1,検索1
検索2,検索2
………,………

最初の1レコード目がポイント。

で、コンボのプロパティを変更。
データ・連結列:2
書式・列数:2
書式・列幅:10cm;0cm
(書式の2個は変更しなくても大丈夫な気がしますが、念のため)

クエリの条件式を変更。
=Like([from!検索フォーム!cboフィールド名])

これでどうでしょう。
    • good
    • 0

私は、"すべて"の代わりに「無指定」=空白というのを使っています。


値集合ソースは SELECT DISTINCT [T_マスタ].[分類] FROM T_マスタ; で得ます。
その上で、空白が指定された場合は
 If Len(Me![ComBox_区分].Column(0)) = 0 Then
 DoCmd.ShowAllRecords
で全件表示がかかり、もちろん何かが選択されれば
Else
Me![Sub_リスト].Form.Filter = "区分 =" & "'" & Me![ComBox_区分] & "'"
Me![Sub_リスト].Form.FilterOn = True
End If
という感じです。
この「=空白(Lenが0)」というのを、「="すべて"」というのに置き換えて考えれば、#2さんと同じやり方になりますね。
ご参考になれば幸いです。
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています

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