• ベストアンサー

Access2000で、検索システムを作ろうとしています。

このカテゴリで初めて質問させて戴きます。 当方、一週間前にAccessに触れたばかりの初心者です。 Access2000を用いて「書名の検索」を行う場合に、 例えば書名番号を定めておいて、その番号をテキストボックスに記入すれば 指定された書物が出てくる、と云う検索の仕組みはわかるのですが、 本の題名の一部を入力すると、 「その一部の言葉が含まれる書名」が検索結果として出てくる、 と云う仕組みは作れますでしょうか。 例えば、フォームを作って、テキストボックスに「筐」と入力すると、 「魍魎の筐」も「筐の中の失楽」も表示されるような。 「*」を使って操作する、ような感じはするのですが、 具体的にどのようにすれば良いか判りません。。。 初就職でデータベース管理を任され、焦っております。 どうぞ宜しくお願い致します。

  • yamiyu
  • お礼率96% (148/153)

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

  • ベストアンサー
  • MovingWalk
  • ベストアンサー率43% (2233/5098)
回答No.1

抽出条件に、  書名 Like "*筐*" を設定すればいいのでは。 (この部分は、SQL文の WHERE句の部分です)

yamiyu
質問者

補足

早速の回答、ありがとうございます。 すみません、本当に初心者なので申し訳ないのですが、 SQL文とは何処に入力すれば良いのでしょうか。。。 テキストボックスのプロパティの 更新後処理、の部分でしょうか?

その他の回答 (2)

回答No.3

こんにちは 単体のクエリができたら フォームのテキストボックスの更新後処理に docmd OpenQuery クエリ名 でフォームから入力後、クエリを実行できます。 引数などの詳細はアクセスのヘルプを見てください

yamiyu
質問者

お礼

回答、ありがとうございます。 Docmd.~と云うコマンドも、やっと最近憶えたばかりです。 ヘルプも頻繁に見てはいるのですが、どうも判り辛くて、、、 地道に頑張ります。どうもありがとうございました。

noname#2685
noname#2685
回答No.2

クエリを作って試してみられるのが良いと思います。 [書名] フィールドの抽出条件に MovingWalk さんが回答されているように、 Like "*筐*" と設定し保存します。 クエリ単体で実行してみてお望みの動作になっているのを確認後、 テキストボックスのイベントなり、 検索ボタンを設けてそのイベントなり、 でそのクエリを実行されるのが簡便かと。 ちなみに、作られたクエリを 「SQL ビュー」 で表示させると SQL が表示されます。

yamiyu
質問者

お礼

回答、ありがとうございます。 実は、自力で何とか解決できました。 クエリの抽出条件に、 Like "*" & Forms!フォーム1!テキスト0 & "*" などと云う風に書けば良かったのですね。 SQLについても追々勉強してゆくつもりです。 どうもありがとうございました。

関連するQ&A

  • accessのフォーム上からブラウザの検索

    Access2000のフォーム上のテキストボックスに文字を入れて、横に配置したボタンを押すと、ブラウザが立ち上がってテキストボックスに入力した文字でgoogleの検索ができるような仕組みを作りたいと思っているのですが、可能でしょうか?

  • VBからACCESSレポートの出力について

    仕事で住所録データベースを作っているところなのですが、 色々と分からないことがあるので、是非、相談に乗って下さい。 VBからACCESSレポートの出力について、行っているのですが データベースから、自分の条件にあったデータだけを取ってきたい のですが、どうしたらよいのでしょうか?? ちなみに、ACCESSのクエリを実行して、欲しいデータを取ってくる のではなく、VB上の画面に入力したデータで、ACCESSのデータを 検索を行うものです。 例えばこんな感じです。 ↓ VBで検索一覧画面から、社員番号を入力する。(テキストボックス) ↓ 実行ボタンを押したとき、テキストボックスに入った社員番号を 自動的に読み取り、ACCESSのデータベースから データを検索する。 こんな感じです。分かりにくい説明ですいませんが 宜しくお願いします。

  • Accessでの検索

    宜しくお願いします。 Accessで検索フォームを作成しようと思っています。 フォームから入力した番号を検索して 結果をテキストボックスに表示するといった感じです。 質問の内容は複数のテーブルがある場合、 どのようにすればいいのか?です。 色々調べてみたのですが、わかりません・・・。 ご存知の方がおりましたら教えて下さい。 宜しくお願いします。

  • Accessで検索するには・・

    会社で、シリアル検索用にデータベースをAccessで作りました。 が、フォームで検索欄を作ったのですが、同じシリアル番号が3個あったとしても、検索をかけてもはじめの1個しか出てきません。どうしたら同じ番号は全部表示できるようにできますか。 ちなみに初心者です。テキスト本をみながら作りました。よろしくお願いします。

  • ACCESS2003でクエリを使った検索フォームを作っています。

    ACCESS2003でクエリを使った検索フォームを作っています。 クエリは以下の様になっています。 ----------  番号   タイプ   品名  1111   AA     商品1  2222   AA     しょうひん2  3333   BB     商品しょうひん3 ---------- 品名のフィールドの抽出条件に ---------- Like "*" & [Forms]![品名検索フォーム]![品名検索] & "*" ---------- と入れています。 品名検索フォームは帳票タイプで、フォームヘッダーにテキストボックスを設け 「品名検索」と名前をつけています。 テキストボックスに【商品】と入力すれば番号1111と3333が、【しょうひん】と入力すれば 番号2222と3333が抽出されるように設定し、ここはうまく動きました。 ただ、このフォームを開いた際、テキストボックスは空欄になっているため、全レコードが 表示されてしまいます。テキストボックスが空欄の際は、何も表示したくないのですが どこを触ればいいのでしょうか? どうかよろしくお願いいたします。

  • accessで・・・(検索)

    初心者です。 accessで商品情報のデータベースを作りました。 フォームで一商品一画面にして表示をしているのですが、 上部をあけて検索テキストBOXを作り、【検索】ボタンを右に設置し、 任意の商品コードまたは商品名を入力してボタン押下で下画面に表示させたいです。 クエリは、商品コード、商品名の2項目で作成してみましたがこれも間違っている気がします。 どなたか初心者でも作れるフォームを教えてください。

  • ACCESS2002での検索

    初めまして。noshioと申します。 ACCESS2002のデータベースについて、文字の一部だけで検索をかけたいのですがうまくいきません。 たとえばデータベースに「OKweb」と入っていて、 「OKWeb」と全文一致するように検索すると出てくるのですが、これを「OK」だけでも出るようにしたいのです。 ACCESS2000ではできたのですが。。。 どこで設定すれば良いかお教え頂ければ幸いです。

  • アクセスのOR検索

    アクセスの初心者です。テキストボックスに入力した語句をテーブルより検索するコードをサンプルコードからまねて作りました。   Me.Filter = "[件名]Like'" & "*" & Me![テキスト28] & "*'"   Me.FilterOn = True さらにテキストボックスを2つほど増やし、3つからOR検索出来るようにしたいんですが、、、(コードの意味もよくわかっていません。) コードを書いていただくとありがたいのですが。 よろしくお願いします。

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

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

  • アクセスの"検索"について

    いつもお世話になっています。 Accessのフォームにて、任意の郵便番号をテキストボックス(1)に入力し"検索ボタン"を押すと、 該当する住所がフォーム上のリストボックス(2)に一覧が表示され、 その中から任意の番号を1件選んで新たなテキストボックス(3)へ代入出来る、というようなシステムを作りたく考えております。 郵便番号は"郵便番号一覧"というテーブルにまとめており、 加えてクエリ( "Q_郵便番号")で郵便番号、住所等の項目を連結しています。(フォームも作成済みです) ただ、現在"検索ボタン"を押すと、全郵便番号が検索され、 もちろん郵便番号を選択するような事も出来ない状態で、構文作りに難航しています。 アイディアをお持ちの方、構文の作成についてご指南頂けますと幸いです。 現在、作成途上のVBAは下記の通りです。 Private Sub Form_Open(Cancel As Integer) 'リストボックスのプロパティの設定 With Me.(2) .RowSourceType = "Table/Query" .ColumnCount = 5 .ColumnWidths = "2.5cm;2cm;4.5cm;15cm" .BoundColumn = 1 .RowSource = "" End With Me.郵便番号検索.SetFocus End Sub Private Sub 検索ボタン_Click() '住所の検索 Me.(2).RowSource = "Q_郵便番号" Me.(2).Requery End Sub