• ベストアンサー
  • すぐに回答を!

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

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

共感・応援の気持ちを伝えよう!

  • 回答数3
  • 閲覧数64
  • ありがとう数4

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

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

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

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

関連するQ&A

  • Excel と Access または、Access と Excel との連携処理

    (1)(初期処理として)、Excel(1.xls)よりアイテムセットしたパラメータ(起動するAccessのパス名)でAccess(A.mdb)を起動する。 (2)Access(A.mdb)の自動処理が終わると、次に起動させるAccess(B.mdb)のパスパラメータをExcel(1.xls)に渡し、Access(A.mdb)を終了する。 (3)パラメータを受け取ったExcel(1.xls)は、Access(B.mdb)を起動し、処理をする。 (1)より開始して、(2)(3)の繰り返し出来る方法を教えてください。 よろしくお願いします。

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

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

  • access2002でのパラメータ表示

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

その他の回答 (2)

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

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

共感・感謝の気持ちを伝えよう!

  • 回答No.1

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

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • PHPからAccess起動。

    PHPからAccess起動。 PHPのバッチプログラムから Accessのmdbを起動する方法が、わからず悩んでいます。 やりたい事は  (1) web画面のボタンをクリックしたら、PHPのバッチを起動し    データの取得・更新を行い、オラクルDBに保存する。  (2) Accessを起動し、オラクルDBに保持したデータを参照し    レポートの出力を行う。  (3) 終了メッセージを出力し、コントロールを画面に戻す。 以上です。 この内(1)と(3)に関しては自力で実装が完了しています。 わからないのが(2)の部分で PHPのバッチからAccessを起動しAccessのマクロをキックする方法です。 ご存知の方、ご教授お願い致します。

    • 締切済み
    • PHP
  • ACCESS:

    ACCESSDBに対し、例えば"(有)"といった括弧で括られた文字列の検索を掛けたいのですが、通常の検索方法"where field_name = '(有)'"でクエリを投げてみたところ、どうやら正常に動作しないということがわかりました。 これを回避するために、何か特別な表記方法などはありますか? ちなみにACCESSDB上の「(」は全角です。

  • ACCESS内の検索

    お世話になります。できるのどうかわからないのですが宜しくお願いします。 ACCESSを利用し在庫管理などを行っているのですがその際、例えばクエリ名「A」というクエリをレコードソースとしフォームを作るとします。さらに同じクエリをレコードソースとしレポートを作ります。こういったように同じクエリやテーブルを使用する場合、システムの規模が大きくなるとクエリやテーブルがどこでどのように使用しているか把握しきれなく、また時がたつにつれ忘れていってしまいます。そこで、クエリやテーブルがどこで(クエリ、フォーム、レポート、マクロ、モジュールなど)使用されているか検索できるようにするにはどうしたらよいでしょうか? 宜しくお願いします。

  • Accessでの電話番号下4桁での検索について

    Access初心者です。 今Accessで顧客管理を作成しています。 フォームで電話番号の下4桁で検索し、該当の顧客の情報がフォームで見れるようにしたいのですが、クエリでの取り込むべきフィールドや抽出条件などがよくわかりません。 今現在はクエリに「電話番号」フィールドだけを取り込み、抽出条件に Right([Forms]![電話番号検索]![電話番号],4) というのを入れてます。 今の段階で作成しているものは、 ・ユーザーテーブル ・検索実行クエリ ・ユーザーフォーム ・書き込みフォーム ・電話番号検索フォーム ・開くマクロ ・閉じるマクロ ・最後のレコードへ移動するマクロ ・新しいレコードへ移動するマクロ ・書き込みマクロ ・終了マクロ 以上になります。 電話番号検索フォームで下4桁を入力し、検索ボタンを押すとユーザーフォームの該当の顧客の情報が表示されるようにしたいというのが目的です。 何卒ご指導の程よろしくお願い致します。

  • Access97 → Access2002

    最近会社でAccess97からAccess2002へ乗り換えた(パソコンもOSも変更)のですが、ファイルを変換(2000形式に)してから、不具合がおきています。 あるデータベースからデータを抽出する作業なのですが、 [A]・[B]二つのテーブルからテーブル[C]を作成する[テーブル作成クエリ]があり、これで作成した[C]をもとにクエリ[D]を実行し、Excelに[D]をエクスポートするという形になっています。 [テーブル作成クエリ]を手動で実行すると正常にテーブルが作成されるのですが、 マクロで実行するとうまくいきません。 マクロは メッセージの設定 ・・・いいえ クエリを開く   ・・・テーブル作成クエリを実行 ワークシート変換 ・・・[D]をExcelのワークシートにエクスポート メッセージボックス・・・"Excelへの書き出しを終了しました" となっています。 具体的には、テーブル作成クエリを実行するときには、 集計開始日と終了日をパラメータとして入力する必要があり、 作成されたテーブル[C]には入力した開始日と終了日が書き込まれます。 [D]のクエリを実行する際には[C]の開始日と終了日が抽出条件となります。 手動で[テーブル作成クエリ]を実行したときには [C]に開始日と終了日が書き込まれているのですが、 マクロで実行したときには、[C]にこの開始日と終了日が書き込まれないため、 結果的にフィールド名だけが入力されたデータの全くないExcelファイルが作成されます。 ちなみにマクロで実行する場合は、あらかじめ日付範囲を入力するフォームに開始日と終了日を入力してから実行します。 長々と書いてしまいましたが、これでおわかりいただけるでしょうか? わかりにくければまた補足いたしますので、 マクロで実行したときに正常に動作するようにするにはどうすればいいのか なにか解決策がありましたら教えてください。

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

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

  • AccessでOracleDBを扱う場合の操作性

    初めまして。Accessを使ってAccessのmdbを作成、使用している者です。  会社で「ORACLEのDBもAccessから更新できるそうだから、そのデータの更新用画面等を作って」と言われ、準備をしているところです。  「裏技」本等を見て、ODBCドライバをAccessを使用するコンピュータへ導入し、リンクテーブル機能を使用すればORACLEのDBへアクセス可能なのは文章上で確認しました。が、その後の操作性が気になっています。  Accessで通常行っているクエリやフォーム、マクロの作成・実行方法は、ORACLEのDBが対象になっても全然変わらないのでしょうか?SQL文を一から作成しなければいけない、ということにはならないでしょうか?  単純に「対象テーブルがORACLEになるだけで、Access上の操作性は変わらないらしいよ」と会社の人には言われたのですが、その情報元が不明なのと、実際その方が担当する訳ではないので本当にそうなのか不安です。  ちなみに、ORACLEのDBはデータ準備中で、まだAccessでどうなるかと確認出来ていません。 質問の仕方が下手で申し訳ありませんが、どなたかお返事を頂けたら助かります。宜しくお願いします。

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

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

  • Access2003 パラメーター検索の方法

    Access初心者です。お手数お掛けしますが宜しくお願い致します。 早速質問ですが、「自宅電話番号」、「携帯電話番号」、「FAX番号」の各フィールドがあります。 上記フィールドから自宅電話番号だけを検索するパラメーターや携帯電話番号だけを検索するパラメータを作成することはできたのですが、上記3個のフィールドに入力されている番号を1つのパラメータで横断的に検索したいのですが、その時のクエリの作成方法についてご存知の方がいらっしゃいましたら何卒お教え下さい。 初歩的すぎる質問かもしれませんが、何卒宜しくお願い致します。

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

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