ここから本文です

MSAccessのVBAでAND検索を行いたいのですがやり方が解りません・・・ 現在、以下...

アバター

ID非公開さん

2015/12/1614:00:25

MSAccessのVBAでAND検索を行いたいのですがやり方が解りません・・・
現在、以下のコードを作っているのですが、これですとOR検索になってしまいます。

氏名 ふりがな 都道府県 備考
田中 太郎 たなか たろう 東京都 あり
鈴木 一郎 すずき いちろう 東京都 なし

フィールドに上記のようなデータが入っているとして
「田中 東京」で検索すると「田中 太郎」のみを表示
「田中 なし」で検索すると「田中 太郎」と「鈴木 一郎」の両方を表示
このような検索をするにはどのようにすればいいでしょうか?
色々と調べてみましたが、煮詰まってしまいまして・・・
Accessは初心者なので、なるべくわかりやすく教えて頂けると助かります。
よろしくお願いします。

~現在のコード~
If Not IsNull(Me.txt検索) Then
Dim varSpt As Variant, i As Variant, strwhare As String

varSpt = Split(Me!txt検索, , , vbTextCompare)

For Each i In varSpt

strwhare = strwhare & "氏名 Like '*" & i & "*' or " _
& "ふりがな Like '*" & i & "*' or " _
& "都道府県 Like '*" & i & "*' or " _
& "備考 Like '*" & i & "*' or "

End If
Next i

strwhare = Left(strwhare, Len(strwhare) - 4)

Me.Filter = strwhare
Me.FilterOn = True

End If

閲覧数:
99
回答数:
1
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

glo********さん

2015/12/1614:20:59

仕様がダメです。

テーブルが↓この状況で
氏名 ふりがな 都道府県 備考
田中 太郎 たなか たろう 東京都 あり
鈴木 一郎 すずき いちろう 東京都 なし


>「田中 東京」で検索すると「田中 太郎」のみを表示
>「田中 なし」で検索すると「田中 太郎」と「鈴木 一郎」の両方を表示
より
検索の条件は
( 氏名 or ふりがな or 備考 ) and 都道府県
*未入力の時は条件より外す
になります。

それを組み立てるわけですが、入力したものをどの項目と比較させるかの判断基準がないと組み立てられません。
その基準を熟考してください。

たとえば、条件欄[氏名][ふりがな][都道府県][備考]を別々のテキストボックスにする。
たとえば、順番通りスペースで区切るようにする。
(例:「田中 東京」→「田中<この間スペース2個>東京」、「田中<この間スペース3個>なし」など)
などなど

  • アバター

    質問者

    ID非公開さん

    2015/12/1716:49:46

    gloss_lordさん
    ご回答有難うございます。
    >条件欄[氏名][ふりがな][都道府県][備考]を別々のテキストボックスにする。
    この方法でしたら既に使っているのですが、これを一つのテキストボックスの中で、スペース区切りで同じことが出来ないかと試行錯誤しておりました。

    仕様上無理のようでしたら諦めます。
    ありがとうございました。

  • その他の返信(1件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この質問は投票によってベストアンサーに選ばれました!

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる