• ベストアンサー

Access2000 でのLikeを使用したフィルタ操作

こんばんは、答えていただけたらありがたいです。。。 今、Access2000で従業員DBを作成しています。 会社の従業員人数が200人ほどいるので、管理できるソフトを作っています。 検索フォームを作成し、姓などをあいまい検索したいと思い、クエリで作ってみましたが、うまくいきません。 姓の抽出条件に Like ("*" & Nz([Forms]![検索君]![TXT3],"*")) と書きましたが、全員出てしまいます。 また、 式1: IIf(IsNull([Forms]![検索君]![TXT3]),True,[Forms]![検索君]![TXT3]) こういう式も書いてみましたが、-1かエラーが出る結果になりました。。。 以上です。よろしくお願いします。

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

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.1

「TXT3」になにも入力しなかったときに全員を出すのであれば、 先頭一致: Like [Forms]![検索君]![TXT3] & "*" 部分一致: Like "*" & [Forms]![検索君]![TXT3] & "*" 末尾一致: Like "*" & [Forms]![検索君]![TXT3] 逆にレコードを表示しないなら、 先頭一致: Like IIF(IsNull([Forms]![検索君]![TXT3]),"",[Forms]![検索君]![TXT3] & "*") 部分一致: Like IIF(IsNull([Forms]![検索君]![TXT3]),"","*" & [Forms]![検索君]![TXT3] & "*") 末尾一致: Like IIF(IsNull([Forms]![検索君]![TXT3]),"","*" & [Forms]![検索君]![TXT3]) ・・・で、いけるのではないかと思います。

hana_is
質問者

補足

お返事ありがとうございます。 Like (IIf(IsNull([Forms]![検索君]![TXT3]),"","*" & [Forms]![検索君]![TXT3] & "*")) この式で絞込みができるようになりました。 しかし、絞込みクエリの結果を、検索フォームに反映することができず、困っています。。。

その他の回答 (1)

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

○○で始まるで、条件なしは全員なら Like Nz([Forms]![検索君]![TXT3],"*") & "*" ○○で始まるで、条件なしは出力なしなら Like Nz([Forms]![検索君]![TXT3],"--") & "*" ○○を含むで、条件なしは全員なら Like "*" & Nz([Forms]![検索君]![TXT3],"*") & "*" ○○を含むで、条件なしは出力なしなら Like "*" & Nz([Forms]![検索君]![TXT3],"--") & "*" ○○で終わるで、条件なしは全員なら Like "*" & Nz([Forms]![検索君]![TXT3],"*") ○○で終わるで、条件なしは出力なしなら Like "*" & Nz([Forms]![検索君]![TXT3],"--")

hana_is
質問者

補足

お返事ありがとうございます。 Like (IIf(IsNull([Forms]![検索君]![TXT3]),"","*" & [Forms]![検索君]![TXT3] & "*")) でうまく絞り込みができました。 今は絞込みクエリの結果を、検索フォームに反映することができず、困っています。。。

関連するQ&A