• ベストアンサー

access2000 クエリーについて

access2000を使っています。 クエリーの抽出条件をいちいちデザインビューで入れるのが面倒です。 クエリーを開く時に抽出条件を聞いてくれるようにしたり、フォームのリストボックスをクリックするとその条件のクエリーが出てくるように出来ないでしょうか? 例を挙げておきますと、テーブル(生徒テーブル:(1)生徒ID(2)生徒名(3)Tel(4)クラス クラステーブル:(1)クラスID(2)クラス名(3)担当者)で生徒テーブルの(4)クラスとクラステーブルがリンクしてあります。 それで、あるクラスの生徒を出したいのです。いかがでしょう。

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

  • ベストアンサー
  • tiga-
  • ベストアンサー率19% (5/26)
回答No.1

私のよくやる方法は、メインフォーム(仮にフォーム名を「frmクラス選択」にします)にクラスIDとクラス名を設定したコンボボックスを作成し(仮にオブジェクト名を「cmbClass」とします)、 クエリーでデータソースを「生徒テーブル」にして、(4)クラス(クラスIDが入っているんですよね)の 抽出条件に「[Forms]![frmクラス選択]![cmbClass]」 とすれば抽出できると思うんですが(手で入力するのは大変なのでウィザードがいいかと思います)。 必ずメインフォームを開いた状態でクエリーを実行してください。 なお、単にクラス名簿のようなものを表示したいなら、クエリーを使わず、生徒テーブルをソースにしたサブフォームを作成し、メインフォームに埋め込み、リンクをクラスとクラスIDにすればいいと思います。 それから、生徒テーブルの(4)クラスにクラスIDが入っているなら、フィールド名をクラスIDとした方が、クエリーを作るときなど自動的にリンクしてくれるので便利だと思います。

nani-o
質問者

お礼

ありがとうございます。最後のやり方でやっていたのですが、excelに移すためにクエリーを使いたくて質問させてもらいました。タイガーさんのやり方いいですね。 使わせてもらいます。また、質問したいと思いますのでよろしくお願いします。

その他の回答 (2)

  • aptiva
  • ベストアンサー率36% (193/529)
回答No.3

抽出条件を指定したいフィールドの、「抽出条件」行に[]で囲った文字を入力するとクエリーを開いた時に、パラメータの入力と言うダイアログが表示され、[]内に入力した文字が表示され値を入力するボックスが出てきます。 例えば、クラスIDの抽出条件に、[クラスIDを指定してください]と入力して保存すると、クエリーを開いた時にダイアログが表示され、”クラスIDを指定してください”と表示されます。ボックスに値を入れるとその値と一致するクラスIDを含むデータが表示されます。 Accessのヘルプで”パラメータクエリー”と検索してみてください。

nani-o
質問者

お礼

ありがとうございます。また、質問したいと思いますのでよろしくお願いします。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 フォームを作らない方法としては、パラメータクエリを利用する方法があります。 手順は、 1.クエリのデザインビューで、抽出条件を設定するフィールド(この場合は生徒テーブルの[クラス])を下の表にドラッグします。 2.もちろん表示するフィールドもドラッグします。 3.1.のフィールド([クラス])の抽出条件に、パラメータを促すメッセージを[]で括って入力します。 例)[クラスを入力して下さい。] 4.メニューの[クエリ]→[パラメータ]でパラメータ設定ダイアログを開きます。 5.[パラメータ]欄に3.で抽出条件に入力した文字列を入力します。 6.必要なら[データ型]を設定します。 これで、クエリを実行すると、パラメータを促すインプットボックスのようなダイアログが出て、そこでパラメータ(この場合はクラスID)を入力すれば条件抽出出来ます。

nani-o
質問者

お礼

ありがとうございます。また、質問したいと思いますのでよろしくお願いします。

関連するQ&A