• ベストアンサー

アクセスのOR検索

アクセスの初心者です。テキストボックスに入力した語句をテーブルより検索するコードをサンプルコードからまねて作りました。   Me.Filter = "[件名]Like'" & "*" & Me![テキスト28] & "*'"   Me.FilterOn = True さらにテキストボックスを2つほど増やし、3つからOR検索出来るようにしたいんですが、、、(コードの意味もよくわかっていません。) コードを書いていただくとありがたいのですが。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • aptiva
  • ベストアンサー率36% (193/529)
回答No.2

2つめ、3つめのテキストボックスが空白の場合だと、(検索条件が1つか2つのテキストの場合だと)ShadowMoonさんの回答だとうまく行かないので(全てのデータが該当してしまう)、そのような条件でも使えるようにするには、 Me.Filter = "[件名]Like'" & "*" & Me![テキスト28] & "*'" _ & iif([テキスト29]<>""," OR [件名]Like'" & "*" & Me![テキスト29] & "*'","") _ & iif([テキスト30]<>""," OR [件名]Like'" & "*" & Me![テキスト30] & "*'","") ただし、テキスト28には必ず検索文字が入っていると仮定します。

denkiya10
質問者

お礼

ありがとうございます。早速手直ししてみます。

その他の回答 (1)

回答No.1

残りのテキストボックスをテキスト29、テキスト30として   Me.Filter = "[件名]Like'" & "*" & Me![テキスト28] & "*'"   Me.FilterOn = True を   Me.Filter = "[件名]Like'" & "*" & Me![テキスト28] & "*' OR" _         & "[件名]Like'" & "*" & Me![テキスト29] & "*' OR" _         & "[件名]Like'" & "*" & Me![テキスト30] & "*'"   Me.FilterOn = True ではどうでしょうか? コードの簡単な意味は、検索対象である件名の中の一連の文字に3つのテキストボックスの一連の文字が含まれているものを抽出するフィルターのコードです。 スペースに続けて_は、複数の行を続けてコードを見やすくする方法です。 ご参考になれば幸いです。m(__)m

denkiya10
質問者

お礼

コードの説明まで親切にありがとうございます。 すこしずつ勉強していきます。 ありがとうございました

関連するQ&A