• 締切済み

ACCESS2003クエリの抽出方法

例えば、ある病院の受診者データのデータベーステーブルから、ある特定の300人の患者さんの抽出方法を教えてください。検索条件は、3つ。市町村名、被保険者番号、員番です。 抽出条件は、クエリで出すと最大9人分しかできません。何か具体的なやり方、VBA等がありましたら教えてください。 例えば、こんなことも可能なのでしょうか? 上記、300人分の検索条件テーブルを作成しておいて、そのテーブルの項目と、合致するデータを取り出して、テーブルに結果を表示させる。  とか? 以上2点、具体的に教えてください。お願いします。

みんなの回答

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

>クエリで出すと最大9人分しかできません。 抽出条件欄のことなら行の追加は可能です。 「挿入」「行」で255行まで増やせたかと思います。 もっともこれで行うよりは、抽出用のテーブル(市町村名、被保険者番号、員番)を作成して、 元のテーブルとの間で選択クエリ化した方がいいと思いますが...

oceanssquare
質問者

お礼

>抽出条件欄のことなら行の追加は可能です。 「挿入」「行」で255行まで増やせたかと思います。 基本的なこともまだまだ、わかっていません。大変参考になりました。 何とか、抽出用のテーブルを作成して、選択クエリをつくり、抽出ができました。ありがとうございました。

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

>抽出条件は、クエリで出すと最大9人分しかできません。 9人にしか該当しない抽出条件を入れているという事ではないですか。 どのような抽出条件なのでしょうか。 >ある特定の300人の患者さんの抽出 抽出する条件があいまいだとアドバイスしにくいですね。 >300人分の検索条件テーブルを作成しておいて、そのテーブルの項目と、合致するデータを取り出して、テーブルに結果を表示させる。 検索条件テーブルと受診者テーブルのキーをクエリ上で結合すれば出来ます。受診者テーブルに同一の受信者が複数ある場合はグループ化して必要なフィールドを使えば良いと思いますが。

oceanssquare
質問者

お礼

>検索条件テーブルと受診者テーブルのキーをクエリ上で結合すれば出来ます。受診者テーブルに同一の受信者が複数ある場合はグループ化して必要なフィールドを使えば良いと思いますが。 まさに、このとおり、やらせていただきました。 大変参考になりました。

noname#60992
noname#60992
回答No.1

仮に患者さんの保険の情報が入っているテーブルを [KANJALST]として 保険者番号を HOKENJA 記号を KIGO 番号を BANGO とした際、 300人分のリストを[LIST300]というテーブルに格納して HOKENJA,KIGO,BANGOでリレーションシップ(LEFT JOIN)を作って患者番号を表示させれば できると思います。 SQLビューで見ると SELECT KANJALST.PTNO, LIST300.HOKENJA, LIST300KIGO, LIST300BANGO FROM LIST300 LEFT JOIN KANJALST ON (LIST300.HOKENJA = KANJALST.HOKENJA) AND (LIST300.KIGO = KANJALST.KIGO) AND (LIST300.BANGO = KANJALST.BANGO); 保険が患者さんと1対1でない場合、2件以上抽出される可能性があります。 (終了日などで判断する必要があります。)

oceanssquare
質問者

お礼

回答ありがとうございます。 VBAは、まだまだ、なんとなくしか理解できませんが、参考に挑戦させていただきます。 すばらしい、回答ありがとうございました。

関連するQ&A

専門家に質問してみよう