• ベストアンサー

Access97の検索処理について教えてください

Access97でプログラムを作っていますが、あるDBに対して検索した結果を、内容確認用の専用画面に返したいのですが、その返し方がよくわかりません。 自分で考えた方法は、 ①マクロで検索クエリーを呼び出す。 ②検索クエリーでパラメータを渡す。 ③パラメータによる検索結果を専用画面に返す。 で、③の部分が上手くいきません。 ④また、クエリーの終了でメニュー画面へ戻らない。 以上、どなたか教えてください。

  • nushi
  • お礼率50% (5/10)

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

  • ベストアンサー
  • paz777
  • ベストアンサー率47% (77/163)
回答No.2

え~っと、検索した結果を画面表示すれば良いのですよね? 一応、検索結果が複数レコードある事を前提として・・・ 下準備 ①「あるDB」と同じ構成のテーブルを作成する。(Bテーブル) ②Bテーブルのレコードを全て削除するクエリーを作成する。 ③今の検索クエリーを追加クエリーに変更する。  追加対象はBテーブルです。 ④Bテーブルを元にした内容確認用の専用画面を作成する。 マクロの処理 ①上記②の削除クエリーを実行 ②上記③の検索クエリーを実行 ③上記④の内容確認用の専用画面を開く こんな感じではだめでしょうか?

nushi
質問者

お礼

回答ありがとうございました。 アドバイスを元に自分の理解度の範疇で何とかできま した。 後は細かいセッティングでプログラム提供できます。 ありがとうございました。 また、解らないことがありましたら質問しますので、 皆さんよろしくお願いします。

その他の回答 (2)

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.3

・確認用のフォームを作成 ・FORM_OPENで、クエリーと同じ内容を表示するSQLを生成して、それをRecordSourceプロパティに設定する って感じでOKだと思います。 上の内容で判りにくければ、どんどん補足で質問してください。

  • shigatsu
  • ベストアンサー率26% (511/1924)
回答No.1

「画面に返す」って考えるから難しいんですね。 クエリーってのはテーブルと同じと考えましょう。 そうするとフォームなどを作るときに連結フィールドを使 えば、テーブルの内容を表示するのとまったく同じに表示 できます。 テーブルと同じように、中身が無くてもフィールドは設定 されているはずですから。

関連するQ&A

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

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

  • Accessデータベースの不要オブジェクトの削除

    Access2007を使用中です。 「やりたいこと」 不要(使われていない)フォームやクエリマクロを削除しDB自体を軽くしたい。 「おおまかな状況」 Access2002を習い始めてからDBを作り始めて、どんどん肥大化(DB項目の増加)してしまいました。使われていないフォームやクエリやマクロですが、マクロは必要な数の1.5倍はあるかもしれません。(あるかもしれませんと申し上げますのは、よく分かっていない時期がありましたので。) 「実施していること」 DB終了時に最適化を実施する設定にしています。 以上ですが、宜しくお願いします。

  • ACCESS(アクセス) マクロを使った複数条件検索

    accessを使った履歴DBを作っているのですが、本格的にVBをするつもりは毛頭なく、極力マクロを駆使して、頑張ってきました。 現在、クエリビルダーでSQL文をそのまま書いて、こちらをフィルタ名に指定して、複数条件検索マクロ(フォームを開く)を組んでいるのですが、この方法だと条件に合致するものがない場合でも、フォームを開くというマクロを実行してしまいます(当たり前なのですが)。検索結果が0件の場合にはエラーメッセージを出すように本当はしたいです。 VBに切り替えれば間違いなく出来るのは想像できるのですが、VBは全くやる気がないので、できることならマクロで何とかしたいのですが・・・。やっぱり無理でしょうか。

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

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

  • Accessマクロでパラメータークエリ実行

    Microsoft Accessのマクロでパラメータークエリを実行する方法を調べると、VBAで実行する方法しか出てきませんが、マクロではできないでしょうか。 検索フォームに条件を入力して検索するマクロを作りたいです。

  • ACCESSで検索画面を作りたいのですが

    ACCESSで顧客管理のデータベース(フィールドは10くらい)があるのすが、顧客名の一部を入力するとそのレコードが表示される、それと担当者名の一部を入力すると、該当する顧客名が表示されるというような検索メニュー?(フォームかな)を作りたいのですが、何冊か本を見てみたのですが、どこをみてよいやらわかりません。パラメータクエリーかなと思うのですが、ほとんど初心者ですがよろしくお願いします。

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

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

  • アクセスの「パラメータ入力」??

    アクセスの初心者です。 昨日作ったレポートで、昨日までは何の問題もなかったのですが、今日開こうとすると、パラメータの入力という画面がでます。何も入力せずにOKを押すと正しくレポートが表示されます。 参照のクエリもこいつが出てたんですが、自分なりに調べて、昇順で並び替えを行ったら、クエリの方は消えましたが、レポートだけはどうしても消えません。 抽出条件等も何も入力していないし、マクロも組んでません。 ほかに確認するとこはあるでしょうか?よろしくお願いします。

  • JSPからDBにINSERT処理を行いたいのですが・・・

    JDK1.4.0,Tomcat1.4,Apache1.3.24,DBはAccess2002を使用しています。 HTMLのフォームから入力したパラメータを、確認画面用に作成したJSPへ渡し、 確認画面で表示されたパラメータを、DBに書き込む処理をしたいのですが、 実際のDBには、null値が入ってしまいます。 確認画面をはさまなければ、書き込むことはできたのですが・・・。 必要であれば、ソースコードも添付しますので、どなたかアドバイスをお願い致します。

  • access2002でのパラメータ表示

    こんにちは、初めて質問します。 OS:WinXPsp2 ソフト:access2002 accessの初心者なのですが、質問があります。 テーブルを一つ作り、そこから選択クエリを一つ作りました。 その中で「住所」フィールドと「水道局」フィールドという項目があり、 「住所」フィールドは”あいまい検索”にしてパラメータ表示から検索するようにし、 「住所」を入力すると「水道局」の答えが返ってきます。 例えば、クエリを実行するとすぐに「住所」のパラメータ画面が表示されますが、 その中に”江戸川区一之江”と入力すると、データシートビュー画面の 「水道局」フィールドに一之江水道局”と答えが返ってきます。 ここから本題なのですが、フォームで「水道局」というテキストボックスと 「水道局検索」というコマンドボタンを設置し、マクロで先ほど作ったクエリを実行させて、 パラメータ画面内に”江戸川区一之江”と入力すると 同じフォーム内の「水道局」のテキストボックス内に”一之江水道局”と表示させたいのですが、 どうしてもクエリのデータシートビュー画面が開きその中で答えが返ってきてしまいます。 「水道局」のテキストボックスの中に答えが入るにはどういうマクロを使えばいいのでしょうか? なんとかクエリ自体をフォームのフィールドリストにして、 「水道局」のテキストボックスを作りましたが、毎回フォームを開くと パラメータ表示画面が出てきます。 その最初に出てくるパラメータ表示画面を出なくさせるにはどうすれば よいのでしょうか? 誰かお知恵をおかしください。

専門家に質問してみよう