Access (VBA)

Access VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10全般 : Microsoft 365)
テーブルを使った検索用フォーム 複数条件
投稿日時: 23/03/18 20:20:38
投稿者: KINAKINAZOZO

ごくごく基本的なのですが、教えてください。
 
テーブルを使った検索用フォームを作りました。
非連結のテキストボックスと、検索ボタンを作って検索する形です。
 
1つの条件ならうまく動いたのですが(以下)
同じテーブルの[A-種類][B-種類]フィールドも含めて検索して結果が出るようにつなぐにはどうしたらいいのか教えていただけないでしょうか?
検索は、ANDではなくORで検索結果を出したく、[@-種類][A-種類][B-種類]のどこかに例えば「桜」と入っているデータを抽出したいと思っています。
 
よろしくお願いします。
 
 
 
Option Compare Database
 
Private Sub 検索ボタン_Click()
DoCmd.ApplyFilter "", "[会員データ Clean]![@-種類] Like""*"" & [Forms]![会員データ Clean1]![検索] &""*"""
 
End Sub
 

回答
投稿日時: 23/03/19 11:48:44
投稿者: hatena
投稿者のウェブサイトに移動

Like演算子で部分一致検索するなら、検索対象を&で結合すればいいでしょう。
 

DoCmd.ApplyFilter "", "[会員データ Clean]![@-種類] & "";"" & [会員データ Clean]![A-種類] & "";"" & [会員データ Clean]![B-種類]  Like""*"" & [Forms]![会員データ Clean1]![検索] &""*"""

 
ちなみに抽出条件式内の引用符は単引用符(')にした方が読みやすいと思います。
  
DoCmd.ApplyFilter "", "[会員データ Clean]![@-種類] & ';' & [会員データ Clean]![A-種類] & ';' & [会員データ Clean]![B-種類]  Like '*' & [Forms]![会員データ Clean1]![検索] & '*'"

  
区切り文字は;にしてますが、対象フィールドに含まれない文字にしてください。

投稿日時: 23/03/20 08:12:50
投稿者: KINAKINAZOZO

hatenaさん
 
ご丁寧に、ありがとうございます。
助かりました!