• ベストアンサー

Accessの抽出に関して

レポートの中にサブレポートを作成し印刷をしています。その際、レポート上でNOを指定していますので、サブレポートにはNOと一致するデータのみが印刷されます。 サブレポートのレコードソースはQ_印刷(クエリでNOの昇順にしたもの)になります。 そこで、1枚に収まる件数というのは限られてきますので、例えば10件データがあった場合、クエリで昇順に並べ替えた上位5件のみをサブレポートで印刷するといった事は可能でしょうか??VBA等を使用した方法でも何でも結構ですので、効率の良い方法があれば教えて頂きたいと思います。よろしくお願い致します。M(__)M

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

  • ベストアンサー
  • -boya-
  • ベストアンサー率35% (176/494)
回答No.2

クエリをSQLビューにしてからSELECTの後に TOP 5 と入れると上位5番目までが表示されます。

simple-t
質問者

お礼

レポートを開く時のモジュールにSQLで個人IDとTOP5を指定したらうまくいきました。ややこしく考え過ぎていたようです。 ありがとうございましたM(_ _)M

simple-t
質問者

補足

ご回答ありがとうございます。M(__)M No1のかたの補足でまとめて入力をさせて頂きましたので、もしそちらの内容でまた良い方法があれば教えてください。お願い致します。

その他の回答 (1)

  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.1

> レコードソースはQ_印刷(クエリでNOの昇順にしたもの)になります。 このクエリで、TOP値プロパティを使ってみてください。

simple-t
質問者

お礼

レポートを開く時のモジュールにSQLで個人IDとTOP5を指定したらうまくいきました。ややこしく考え過ぎていたようです。 ありがとうございましたM(_ _)M

simple-t
質問者

補足

ご回答ありがとうございます。M(__)M すいません。質問の仕方が足りなかったので補足させて頂きます。実はNOとは別に個人IDがあるとします。今回教えて頂いた方法でNOの上位5件を抽出することが出来たのですが、サブレポートがIDでリンクされていますので全く無関係な5件が抽出されておりサブレポートには全くデータが出てきませんでした(>_<)もう一度補足させて頂きます。 IDを一致させて抽出した中で上位5件を取り出したいです。これはSQLで両方の条件を組み込まないと、レポートのプロパティの【リンク親フィールド】【リンク子フィールド】で設定して、さらにそのサブレポート内で指定しているQ_印刷でTOP5を取り出すということは出来ますでしょうか。効率が悪そうなので他に良い方法がありましたら教えてください。