• 締切済み

Access2000: 複数のフィールド内の特定文字を含むレコードの検索・抽出をどのように設定方法

一つのレコード内にField01, Field02, Field03があります。 Access2000を使用しています。 Main Form(MF)に設置したText Box01 とTex Box02に任意のあいまいな文字をエントリーした場合、 (1) その両方(2)そのいずれか、 の文字を含む複数のレコード検索・抽出を行いたいと思います。 事情に応じて(1)或いは(2)の結果をQuery(FormやReportのベース)に表示させる良い方法を 教えて下さい。(QueryやVBA等のコードの書き方等)

みんなの回答

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.1

クエリを書く場合 SELECT テーブル名.Field01, テーブル名.Field02, テーブル名.Field03 FROM テーブル名 WHERE (((テーブル名 .Field01) Like "*" & [Forms]![MF]![Textbox01] & "*" And (テーブル名 .Field01) Like "*" & [Forms]![MF]![Textbox02] & "*")); でField01内のTextBox01とTexBox02に入力された文字が含まれるレコードが表示されます。 クエリウィザードでクエリを作った場合はField01の抽出条件に Like "*" & [Forms]![MF]![Textbox01] & "*" And Like "*" & [Forms]![MF]![Textbox02] & "*" で同様の結果が得られます。

jsota
質問者

補足

早速のご回答ありがとうございます。 私の質問がややあいまいでした。 Text Box01 とTex Box02の検索対象はField01だけではなく、 Field02, Field03も同時にその対象としたいのです。 1)クエリウィザードでクエリを作った場合にField01の抽出条件のみならず、 Field02, Field03の抽出条件にも Like "*" & [Forms]![MF]![Textbox01] & "*" And Like "*" & [Forms]![MF]![Textbox02] & "*" を単純に加える事では目的が達成できないような気がします。 (それぞれ独立した検索作業が必要なため) 2)又、Field01内のTextBox01或いはTexBox02に入力されたいづれかの文字が含まれるレコードを抽出するには Like "*" & [Forms]![MF]![Textbox01] & "*" Or Like "*" & [Forms]![MF]![Textbox02] & "*" 出良いのでしょうね? 従って、2種類のQuery(AndとOr)を作成してMain Form(MF)から選択する仕組みを作る必要がある訳ですね? 如何でしょうか?

関連するQ&A