Microsoft Access 掲示板

複数の検索キーワードで特定の検索キーワードを含まない除外検索(not検索) / 1

5 コメント
views
4 フォロー
1
kitasue 2020/09/29 (火) 06:28:42 d057a@e9d43
        strSubFilter = Me.txtWord3
        strSubFilter = "*" & Replace(strSubFilter, "。", "* And *") & "*"
        
        If InStr(strSubFilter, "▲") > 0 Then
            strSubFilter = "(" & strSubFilter
        End If
        
        strSubFilter = Replace(strSubFilter, "、", "* Or *")
        strSubFilter = Replace(strSubFilter, "▲", "*) And Not *")
        strSubFilter = "(" & BuildCriteria("職名", dbText, strSubFilter) & ")"

でいかがでしょう。

通報 ...
  • 2

    kitasue 様

    回答いただき誠にありがとうございます。

    コードを使用させて頂きましたところ、
    ▲後のワードで除外検索が出来ました。

    <質問>
    大変恐縮ですが追加で質問させていただきます。

    下記のように除外ワードを複数指定し検索は可能でしょうか?
    (読点[、]でor条件、句点[。]and条件では、
    複数ワードを指定出来たのですが、除外検索では難しいでしょうか?)

    職名というレコードに
    チーフ
    SPチーフ
    ADチーフ

    というレコードがあったとして、
    検索語句例:チーフ▲SP▲AD
    →職名でチーフ が含まれるレコードのうちで、SP と AD を除いたレコードが検索表示される

    ※現在のコードで、上記の検索をすると下記のようなエラーmsgが出ました。
    「実行時エラー'2435'
    指定した式の閉じかっこが多すぎます。」

    もし良い案がありましたら、教えて頂けましたら幸いです。

    3

    kitasue 様

    度々のレス失礼します。

    別枠で新たに除外検索用に、
    txtWord4というテキストボックスを用意し、
    除外ワードだけを複数指定するという事は実現できました。

    レス2番のように1つのテキストボックスで、
    複数の除外ワードを指定する事が、
    実現可能でしたらお知恵をお借り出来ましたらありがたいです。
    よろしくお願いします。

    [▲]区切りで、複数の(not条件)除外検索
        If Not IsNull(Me.txtWord4) Then
            strFilter = strFilter & " AND " & BuildCriteria("職名", dbText, _
            "*" & Replace(StrConv(Me.txtWord4, vbWide), "▲", "* And Not *") & "*")
        End If