• 締切済み

アクセスである文字を含む検索2

KODAMARの回答

  • KODAMAR
  • ベストアンサー率26% (267/1006)
回答No.1

検索クエリの抽出条件が 「顧客(法人)」のところだけ Like Iif(IsNull([Forms]![検索フォーム]![検索]),[顧客名],'*'&[Forms]![検索フォーム]![検索]&'*') としてあって、ほかは何もかいてないのですよね? とすると、検索フォームで、入力したものがきちんと出てくるはずなのですが。。。 (他のところにも何かしら条件を入れている場合は変わってきます) テーブルよりクエリが多いというのは、検索結果の件数がテーブルの件数が例えば 100件だとしたら、クエリの結果が200件出てきてしまったということでしょうか? >[Forms]![検索フォーム]![検索]),1,Unknown 検索ボタンのところには何が実行されるようになっていますか? 前の古い状態のままだったりしませんか? #私もちょっとわからないまま回答しているので、間違っているかと思いますが。。

satoko1228
質問者

お礼

またまたすばやいお返事ありがとうございました。 どうやらクエリによけいなテーブルを表示させていたらしいです。 (なぜ気づかなかったの?わたし・・・) たいへんお手数かけました。 ありがとうございました。

関連するQ&A

  • Access2000 抽出について

    どうしてもわからないので教えてください。 選択クエリで、「フリガナ」というフィールドに、 Like IIf(IsNull([Forms]![F_顧客検索]![カナ検索]),"*",[Forms]![F_顧客検索]![カナ検索] & "*") でフォームからクエリを実行させるようにしているのですが、 フリガナが空白のレコードは抽出されてくれません。 「*」でなく、なんと入れればいいのでしょうか? ちなみに他に、「自宅電話番号」というフィールドに、 Like IIf(IsNull([Forms]![F_顧客検索]![電話検索]),"*" & "*",[Forms]![F_顧客検索]![電話検索] & "*") など、似たような感じで抽出をかけています。 よろしくお願いします。

  • アクセスである文字を含む検索

    ACCESS2000を使っています。 あるデータテーブル「発注書テーブル」があって、ここでは「(1)ID」「(2)顧客名(法人)」「(3)発注商品」「(4)納品済チェック」の4つフィールドがあるとします。 作業はフォームで行います。フォーム名は「発注書フォーム」。 「(2)顧客名」から検索をかけたくて、検索コマンドボタンをつくり、「検索フォーム」を発注書フォームとまったく同じ形態でつくり、そこにとべるようにしました。 「検索フォーム」には「検索」というテキストボックスを作ります。 「検索クエリ」というクエリを作り、発注書テーブルを素とし、すべてをデザインビューで表示するようにしました。 そして、「(2)顧客名」の抽出条件に[Forms]![検索フォーム]![検索]を入力します。 すると、「検索フォーム」の「検索」をコンボボックスにして、顧客名をすべて表示させ選択した場合は、「検索フォーム」では、選択した顧客の情報が表示されるようになりました。 が、しかし、「検索」をコンボボックスではなく、テキストボックスで、しかも顧客名の一部だけを入力したら、その文字を含むすべてのレコードを表示してほしいのです。 そこで、「検索クエリ」の「(2)顧客名」抽出条件にlike"*[Forms]![検索フォーム]![検索]*"と入力してみました。 そして「検索フォーム」の「検索」テキストボックス(非連結)に顧客名の一部を入力したところ、ぜんぜん絞りこみ抽出してくれません。 もちろん、クエリ上でも絞り込んでいない模様です。 どうしたら文字の一部からその文字を含む顧客名のレコードを全て抽出し、表示させることができるでしょうか? 細かくてすみませんが、かなり困ってます。 どうかわかる方、教えてください。 まったくちがう方法(別の手法)でもかまいません。 この説明でわからない部分がありましたら補足しますのできいてください。 よろしくお願いします。

  • Accessの検索フォームで。

    Accessを使ってデータベースを作成しています。 「テーブル1」があり、これには 名前ID 名前 入力日 チェック項目1 チェック項目2   : とあります。 これをもとに「検索クエリ」を作成しました。 検索クエリの項目は「テーブル1」とまったく同じですが、 すべてを検索するわけではないので ・名前ID  「検索項目なし」 ・名前  「Like IIf(IsNull([Forms]![検索条件入力フォーム]![名前]),[氏名],'*' & [Forms]![検索条件入力フォーム]![名前] & '*') ・入力日  「検索項目なし」 ・チェック項目1  「Like IIf(IsNull([Forms]![検索条件入力フォーム]![チェック項目1]),[チェック項目1],[Forms]![検索条件入力フォーム]![チェック項目1])」 ・チェック項目2  ※上記と同じ。   : としてあります。 この「検索クエリ」をもとに「検索条件入力フォーム」を作成してあります。 名前の欄に「田中」と入力すれば、「田中」がつく人がすべて検索されるというようなカンジになっています。 「テーブル1」に空欄があり、その場合に、検索がうまくいきません。 「検索クエリ」のところですべてに条件を入れればいいのですが、フォームに全てが入っていないので。。。 やはりフォームに「テーブル1」の項目すべてを含め、クエリで条件を入れるべきでしょうか? これが今考えている中では一番手早いようなカンジがするのですが、どうしてもあまりスマートなやり方ではないような気がして。。。 これしかないのであれば、これでやりますが、他にいい方法があれば、教えていただけないでしょうか? あまり上手な文章ではないので、補足要求があれば補足します。 宜しくお願いします。 Ac2000です。

  • ACCESSでクエリーを使った検索

    VBAを使えば簡単にできるのですが、事情があり、クエリーのみで行わなければいけません。 フォームに入力された情報を元に検索できるクエリを作成しました。 通常でしたらクエリのフィールド名の下の抽出条件に Forms![F_検索]![検索条件1] とすればいいのですが、これが複数の条件を設定した場合はすべての条件を入力しないと、検索結果が出ないことから 以下のように変更しました。 フィールド名の抽出条件には何も書かず、別に式として IIf(IsNull(Forms![F_検索]![検索条件1],True,[フィールド1]=[Forms!]![F_検索]![検索条件1])) と入力しそこの抽出条件に「True」と入力しました。 これで何も入力されてない場合は全件が表示されるようになりました。 通常の検索はこれでいいのですが疑問点が2点あります。 1.期間を抽出する場合はどうしたらいいのか? IIf(IsNull(Forms![F_検索]![検索条件1],True,[フィールド1]=Between [Forms!]![F_検索]![検索条件1] and [Forms!]![F_検索]![検索条件2])) とかしてみましたがダメでした。 2.あいまい検索をするにはどうしたらいいのか? IIf(IsNull(Forms![F_検索]![検索条件1],True,[フィールド1]=Like [Forms!]![F_検索]![検索条件1])) なんてしてみましたがだめでした。 ご回答よろしくお願いします。

  • ACCESS2000の複数検索条件からのデータ抽出

    こんにちわ。前回質問内容自体どう説明してよいかわからず、途中で終わってしまったので、再度、詳しく質問してみました。 今、Accessで受注管理を作成しているんですが、複数の検索について教えて下さい。 ■テーブル テーブル名:受注管理 フィールド名:受注ID・日付・商品種別・顧客名・仕入種別・状況種別 ■クエリ クエリ名:受注クエリ(フィルタ) フィールド名:受注ID(表示チェックあり)・日付・商品種別・顧客名・仕入種別・状況種別 と式1[Forms]![検索フォーム名]![日付text]・式2[Forms]![検索フォーム名]![商品種別combo]・式3[Forms]![検索フォーム名]![顧客名text]・式4[Forms]![検索フォーム名]![仕入種別list]・式5 [Forms]![検索フォーム名]![状況種別combo]の計11列です。 抽出条件:検索名フィールド: 受注IDを除く各フィールド名の下に Like "*" & [Forms]![検索フォーム]![日付text] & "*" Like [Forms]![ 検索フォーム名]![商品種別combo] Like "*" & [Forms]![ 検索フォーム名]![顧客名text] & "*" Like [Forms]![ 検索フォーム名]![仕入種別list] Like [Forms]![ 検索フォーム名]![状況種別combo] 各式の下に Like "" Like "(なし)"      Like "" Like "(なし)" Like "(なし)" を検索パターンに応じて入力しました。 マクロにより、フィルタの実行をしていますが、この方法だと4つまでなら、検索可能なのですが、5つ以上になると、「フィルタが長すぎます」というダイアログボックスがでて検索ができません。VBAやSQLはいまいちわからないので、何か簡単に、5つ以上の検索条件で検索できないでしょうか。お願いします。

  • Access2002での複数項目検索について

    教えてください。 Access2002でデータベースを作っています。 ふたつのテーブルから選択クエリを作成、そのクエリ内で部分一致のパラメータを設定し、 複数項目(5つ)の検索を行っていましたが、検索のたびに毎回5つのダイアログボックスを クリア(必要項目を入力、入力しないパラメータは「OK」でとばす)するのがめんどくさいと 使用者にいわれ、検索フォームからの検索に変えたいと思っています。 その場合、  (1)選択クエリを基としたフォームを新規作成し、  (2)非連結のテキストボックスを5つ作り、それぞれ適当な名前を付け、  (3)クエリの抽出条件の欄の現在パラメータ設定をしているところを、       [Forms]![フォーム名]![テキストボックス名]に変える だけではできないのでしょうか。。 いろいろWeb上で調べたり、本を読んで見よう見まねでつくってみましたが、出来上がった フォームから検索ボタン(「クエリの実行」ボタン)を押しても、全件が表示されてしまうの です。 パラメータではできているのに・・・。 どなたか、ご教示くださるとうれしいです。 よろしくお願いいたします。

  • アクセスクエリでの空白の値の表示

    フォームで条件フィールドから2つ同時の検索をかけたく クエリに以下の式を記載致しました。 検索はかかるのですが空白のデータがでてきません。 空白のデーターも表示させたいためにはどうしたらいいでしょうか? 式1: IIf(IsNull([Forms]![フォーム]![条件1]) And IsNull([Forms]![フォーム]![条件2]),True,[条件]=[Forms]![フォーム]![条件1]Or [条件]=[Forms]![フォーム]![条件2] 抽出条件  True

  • アクセス2003の検索クエリーについて

    今、アクセス2003で色々勉強しています。 氏名とか住所はクエリーの曖昧検索で式を書いて動いたのですが。 期間・・何年何月何日~何年何月何日で検索する式がわかりません。 どのような式を書けばいいのでしょうか? ちなみに曖昧検索はIIf(IsNull([Forms]![検索画面]![住所]),True,[住所] Like "*" & [Forms]![検索画面]![住所] & "*")と書いて動きました。 うまく表現が出来ないので、わからないかもしれませんがよろしくお願いします。

  • 検索条件について。

    あるフォームで選択・入力された値から抽出を行うようなクエリを作成しました。 空欄でもきちんと抽出されるようにと、下記のようなものを記入しました。 IIf(IsNull([Forms]![検索結果]![rank]),True,[ランク] Like [Forms]![検索結果]![rank]) ですが、実行を行う(空欄で実行)と、「式が複雑すぎです」とエラーがでてしまいます。 実際の値を入力すると、何も抽出されません。 どこが違うのでしょうか? よろしくお願いします。

  • アクセス 検索フォームから抽出結果を別フォームへ

    いま会社のシステムを構築していて ほとんど初心者なのですが、どうしたらよいかわからず困っています。 access2003なのですが フォームからパラメータクエリを起動して、会社名を検索した結果をその会社とのコンタクトした 内容を記すフォームに情報を転載したいのですが、どうやったらよいのかよくわかりません。 顧客マスターのテーブルにパラメータクエリで会社名を検索させています。 主キーは顧客コードです。 その該当したデータは追加クエリにして顧客とのコンタクトをしたテーブルに追加するようにしています。 しかし、テーブルにではなくフォームに追加したいのですが、どうしたら良いのかわかりません。 何卒よろしくお願い致します。