accessでフリーワード検索が可能な検索フォームの作成方法

このQ&Aのポイント
  • accessで簡単な検索フォームを作成する方法について説明します。特に、一項目をフリーワードで検索する機能の実装方法に焦点を当てます。
  • フリーワード検索を行う際におけるキーワードの入力について疑問が生じました。データ入力の段階で考えられるキーワードをすべて入れないと、データ未入力の言葉はフリーワード検索の結果に含まれないのか疑問です。
  • 初心者のため用語の使い方に不安がありますので、アドバイスをいただけると幸いです。
回答を見る
  • ベストアンサー

accessでフリーワード検索が入った検索フォームを作成したいのですが。

はじめまして。accessド初心者です。 簡単な検索フォームをaccessで作成しようと思い、 4項目ぐらいから検索できる形にしようと作成しているのですが、 そのうちの一項目をフリーワードで検索できるようにしたいのです。 リレーション設定し、各項目のクエリを作成し、 入力用のクエリを作るため選択クエリ画面にて、データ入力を 行なおうとしたところで、疑問がでました。 フリーワード検索をさせたい場合は、このデータ入力の段階で、 考えられうるキーワードを全部入れなければ、 データ未入力の言葉をフリーワード検索した場合、引っかかってこない という認識で合っていますでしょうか? 例えば、考えられうるキーワードがとてつもなく多い場合は、 それこそ1文字ずつ文字を替えたものをすべてデータ入力しないと 使えないということなのでしょうか? もしそうであれば、フリーワード検索の項目ははずそうと思っています。 初心者のため、用語の使い方が正しいのか不安ですが、 ご存知の方がいらっしゃれば、教えてください。

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

  • ベストアンサー
  • yatoaa
  • ベストアンサー率30% (110/362)
回答No.1

フォームのフリー用項目のところへは初期値として  * を入れておいて LIKE命令で 検索させれば できると思います 選択クエリーへは Like "*" & [FORMS]![XXXXXXX]![KOOMOKU-1] & "*" みたいな選択条件命令ですね あと 便利に使うために ダブルクリックで  * を入力(初期状態へ戻る) という命令文も入れておく

ANNAas
質問者

お礼

遅くなりましたが、やってみました。 条件をだせばよかったんですね。うまく動いているようです。 どうもありがとうございました。 でも、まだまだ改良の余地がありそうなので、 再び質問出すかもしれません。。。

関連するQ&A

  • Accessで検索フォームを作成したい。

    Access2000でDBをつくりました。 そのデータから検索をして、抽出をしたいのです。 検索条件をいれるデータはこれ、と決まっていればパラメータークエリでもつくればいいのですが、どれでも検索条件にするようにしたい、と使用者から頼まれました。 入力方法としては単票フォームを開き、検索したい項目に、検索条件をいれると抽出される、というようなものです。 検索したい項目は日付かもしれないし、名前かもしれない、はたまた会社名かもしれない、とバラバラなのです。 その項目毎にパラメータクエリをつくるのもちょっと・・・と思うので。 何かいい方法はありますでしょうか? よろしくお願いします。

  • Access2003 検索用フォームでの検索がうまくいかない

    Access2003 検索用フォームでの検索がうまくいかない とある、テーブルを参照するフォームを作成。 そしてテキストbokを設けて、各項目毎にキーワードを指定してデータを抽出できるようにしたいのですが、 どうもうまくいきません。 検索は出来ているのですが、全部ひっかからないのです。 例えば ID という項目を検索するbox に"1"を入力して ID=1の全データを抽出しようとすると、一部検索にかかってこないものがある という具合です。 テーブルに入力されている数字や文字が本当に一致しているかどうかも調べましたが確かに一致しています。 実際、テーブルを開いて ctr+f で検索すると全てひっかかります。 何が原因なのでしょうか??? 私の作った手順は以下のとおりです。 テーブル作成(エクセルからインポート) ※空白の欄もあります フォーム新規作成でフォーム作成 フォーム上にテキストbox作成 クエリ作成 (Like "*" & [Forms]![フォーム名]![テキストbox名] & "*" ) マクロ作成⇒フィルタ実行/上の手順で作ったクエリを登録 マクロをフォーム上へドロップ およそこのような手順です。

  • 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、検索用フォームでのあいまいな検索

    現在、Accessでデータベース作成をしています。 テーブル:  ・テーブルA          ・テーブルB          (A・B間にリレーションシップ設定) クエリ    ・検索クエリ(テーブルA・テーブルBを元に作成) フォーム   ・検索用フォーム(デザインビューでフォーム作成より)          ・検索結果フォーム(検索クエリを元に作成) また、以下のような設定を入力しました。 「検索クエリ」の抽出欄  Like "*" & [Forms]![検索用フォーム]![検索したい名前] & "*"・・(1)  ※検索したい項目、すべての抽出欄に設定済 「検索用フォーム」  検索実行ボタンを作成し、マクロを設定  ・フォームを開く→「検索結果フォーム」  ・フィルタ→「検索クエリ」 上記の設定により、検索用フォームに検索文字を入力することで、その結果を「検索結果フォーム」に反映することができました。 ただ、テーブルAが元になっている項目の抽出欄のみに(1)を入力すると、うまくいくのですが、テーブルBが元になっている項目欄にも (1)を入力しようとすると、検索用フォームからうまく検索することができなくなります。 2つのテーブルを元にしたクエリからは、検索用フォームをつかった複数のOR検索はできないのでしょうか?? ご存知の方、ぜひ教えてください。 よろしくお願いいたします。

  • Accessのフォームで

    Accessで2つほど質問いたします。 (1)テーブルにフィールドを追加したのですがフォーム上でそのフィールドが追加できません(プロパティで選択できない)、多分クエリーを経由してフォームを作成したのですが、どのクエリーだかわからなくなってしまいました、参照しているクエリーがどれなのかを調べる方法を教えてください。 (2)検索フォームを作成して入力した文字を含む検索をしたいのですが どのようにしたら良いのでしょうか、今は入力の文字列の最初と最後に「 * 」を入力して検索しています。

  • アクセス フォームに検索ボタンをつくりたい

    クエリからフォームをウィザードで作成しました。 このフォームではマウスのスクロールでデータが次々と変わるのですが、 特定の顧客を検索する事が出来ません。 このフォームの中に検索できるボタンを作りたいのですが 何せ初心者の為、ネットで検索してみましたがわかりませんでした。 お教えいただけましたら助かります。 ちなみにデータは5万件 検索かけるフィールド名は“ID” クエリからフォームをつくりました。クエリ名は“検索用”です。 アクセスは97です。 よろしくお願い致します。

  • Accessの検索フォームについて

    Access2000 XP SP2 はじめまして。 Accessを使ってたまったデータを 検索するフォームを作成しています。 その検索フォームですがコンボボックスを使おうと思っています。 そこで、Googleツールバーの様に 何か文字を入力したタイミングで後方検索し 候補をずらっと出てくるようにしたいと思っております。 使う人がAccessをまったく知らないので なるべく負担がかからないような仕様を考えております。 サンプルなどありましたら教えて頂けないでしょうか? 宜しくお願いします。

  • アクセス クエリー・フォーム作成について

    今アクセスで”台帳”なるものを作成しています。 クエリーで式等を入れ込んで、それを用いてフォームで入力画面を作成したのですが、テストデータはその場面で見れるものの新しいデータを入力する事が出来ません。 クエリー構造にどうやら問題があるみたいなのですが、色々試してみたものの答えが出ません。 基本的なクエリーの作成方法・想定されるミス等を教えてください。 お願いします。

  • アクセス2007にて複数フィールドに対してのあいまい検索のやり方がわかりません

    アクセス2007を使用しています。 初心者ですので説明がわかりずらいかもしれませんが、都度補足していきますのでよろしくお願いいたします。 現在、顧客を管理するためのデータベースを作成しています。 新規顧客のデータを入力する→【F新規入力】フォーム 既存の顧客のデータを名前、もしくは住所から検索する→【F検索】フォーム を作成しました。 【F新規入力】フォームから入力されたデータは【T顧客データ】に格納されます。 【F新規入力】には『名前1』『名前2』『住所1』『住所2』『住所3』『住所4』というフィールドがあります。 『名前1』は必須入力で『名前2』は空欄でもOKとします。 住所に関しては都道府県名~地番までを『住所1』~『住所4』に分けて入力します。 【F検索】にはテキストボックス『名前検索』と『住所検索』があります。検索ボタンとサブフォームもあります。 検索キーワードを入力して検索ボタンを押すとサブフォーム内に検索キーワードを含むデータが表示されるようにしたいのです。 間違っているのかも知れませんが、【Q検索クエリ】を作成し、抽出条件を【F検索】の『名前検索』『住所検索』に入力されたキーワードであいまい検索、【Q検索クエリ】を元にサブフォームを作成すればできると思っているのですが、検索条件をあてはめるフィールドが多くて、どのように条件を設定すればいいのかわかりません。 たとえば 『名前検索』キーワード……山 『住所検索』キーワード……中町 と入力し、検索ボタンをおすと『名前1』『名前2』のいずれかに"山"を含み、かつ『住所1』~『住所4』のいずれかに"中町"を含むデータが表示される たとえば 『名前検索』キーワード……木 『住所検索』キーワード……空欄 と入力し、検索ボタンをおすと『名前1』『名前2』のいずれかに"木"を含むデータが表示される ようにするのが目標なのですが、どなたかお知恵を貸してください。。。

  • ACCESS97の検索

    ACCESS勉強中での質問です。 ACCESSでユーザー管理表を作成しました。 クエリー“A”をもとに、単票ホームを作りました。 検索機能をつけようと、書籍等を見ていたのですが、通常ある検索ボタンの利用法しか見つけることができませんでした。 理想としては、フォームの多数ある項目の中の、ユーザー名の部分に、検索したいユーザー名を入力すると、そのユーザーに関するデータが、表示される(フォームの中の適所に)様にしたいのです。 初心者なので、HP等で説明されているSQLとか、まったく理解できないのです。 初心者でも分かりやすいように教えていただけないでしょうか? お願い致します。

専門家に質問してみよう