- ベストアンサー
Accessでの検索
図書館でみたのですが、、。 ウィンドウから検索語を入力。ヒットしたデータが新しいウィンドウにでる。このような事をしたいのですが、難しいのでしょうか。昨日から本を片手にいろいろやっています。初心者ですので、分かりやすいようにお願いします。又、良い本がありましたら、教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
Accessなら比較的簡単に作ることが出来ますよ。 クエリを使ってテーブルのデータを検索するようにすれば本を片手にしながらでも充分できます。 1.フォームを作りテクストボックスを1つ作ります。仮に"検索フォーム"と "検 索"とします。 (検索に抽出する内容を入力しその内容を使ってクエリで抽出するんです。) 2.データを抽出するテーブルに基づいてクエリを作ります。 検索フォームの検索で抽出したいフィールドのクエリの抽出条件に [Forms]![検索フォーム]![検索]と入力します。 (これは抽出条件のところで右クリックでビルドでも選択していけば 自動的に記述されます。) 3.検索フォームにボタンを作ってクエリを開くようにビルダーで作ります。 後は検索フォームを開いて検索に内容を入力しボタンを押せばクエリで抽出されたデータが表示されます。 ただしこれは検索に入力した内容とテーブルにある抽出条件を作ったフィールドの内容が一致するデータだけしか表示できないですけどね。 何々を含むとか何で始まるとかの抽出は別の記述になります。
その他の回答 (3)
- O_cyan
- ベストアンサー率59% (745/1260)
>LIKEとかいうのを使いましたが、ダメでした。 クエリの抽出条件ならLikeで良いんですよ。*を付けないと抽出してくれません。 でもフォームの検索フィールドに*を入力するのはカッコ悪いのでLikeの記述にいれちゃいます。検索フィールドには抽出したい文字等だけでOKです。 まず・・ データの先頭にある文字から抽出する場合は Like ([Forms]![検索フォーム]![検索] & "*") 例としては名簿テーブルの名前を検索する場合、クエリの名前の抽出条件に 上記の記述をしておく。検索フィールドに鈴木と入力してEnterキーで確定 させてクエリを開くと名前が鈴木という人全て抽出されます。 データのどこかに同じ文字を含むものを抽出する場合は Like ("*" & [Forms]![検索フォーム]![検索] & "*") (フォームで入力された文字の前後に*を付ける) 例としては名簿テーブルの名前を検索する場合、クエリの名前の抽出条件に 上記の記述をしておく。検索フィールドに木と入力してEnterキーで確定 させてクエリを開くと名前が鈴木や大木や木下という名前の中に木がある人が 全て抽出されます。 試してみてください。出来ると楽しいでしょ!!(^。^)
お礼
わーい、わーい。できました。 連絡遅くなってすみません。本当に、ホントウニありがとうございました。また、何かの時にはご指導お願いします。
- O_cyan
- ベストアンサー率59% (745/1260)
>初心者の私にはちょっと難しいです~。 大丈夫ですよ。出来ますから。 考え方は・・・ クエリでテーブル内のレコードを抽出する際にクエリの抽出条件に、例えば名簿テーブルとして性別が男を抽出するときは抽出条件に"男"と入力してクエリを開くと性別が"男"のレコードが表示されますよね。 その抽出条件に入力する替わりにフォームの検索フィールドに入力された内容("男"だったら"男"、"女"だったら"女")を抽出条件に代入するだけですから結構単純なことですから。 頑張ってみてください。
お礼
できましたー。O_cyanさんの回答をプリントアウト、指示通りにすると、できたんです!!ちょっと感激しました。で、もう一つ、、部分一致検索も試みたのですが、それはできませんでした。「別の記述になります。」と、書いてありますが、難しいのですか。???私は、LIKEとかいうのを使いましたが、ダメでした。簡単なようでしたら、教えてもらいたいですが、、。すみません。。
- yuko6
- ベストアンサー率19% (108/543)
文面だけだとうまく説明できないし、 個人のHPのURLを載せることはできないので やはり大きめの本屋さんで立ち読みをして 目的に合ったものが載っているものを買いましょう。 新しいウィンドウでないとダメなのでしょうか。 ちょっと複雑なものだとVBAを使わなくてはいけませんので 初心者ということであればフォームフィルタを使うのが楽だと思います。
お礼
そうですね。今日本を探してみます。目標は、質問の通りですが複雑そうですよね。 早速の回答ありがとうございます。
お礼
うーん。初心者の私にはちょっと難しいです~。でも、ぐぁんばります!ありがとうございました。