- ベストアンサー
Accessの抽出に関して
レポートの中にサブレポートを作成し印刷をしています。その際、レポート上でNOを指定していますので、サブレポートにはNOと一致するデータのみが印刷されます。 サブレポートのレコードソースはQ_印刷(クエリでNOの昇順にしたもの)になります。 そこで、1枚に収まる件数というのは限られてきますので、例えば10件データがあった場合、クエリで昇順に並べ替えた上位5件のみをサブレポートで印刷するといった事は可能でしょうか??VBA等を使用した方法でも何でも結構ですので、効率の良い方法があれば教えて頂きたいと思います。よろしくお願い致します。M(__)M
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
クエリをSQLビューにしてからSELECTの後に TOP 5 と入れると上位5番目までが表示されます。
その他の回答 (1)
- Gin_F
- ベストアンサー率63% (286/453)
> レコードソースはQ_印刷(クエリでNOの昇順にしたもの)になります。 このクエリで、TOP値プロパティを使ってみてください。
お礼
レポートを開く時のモジュールにSQLで個人IDとTOP5を指定したらうまくいきました。ややこしく考え過ぎていたようです。 ありがとうございましたM(_ _)M
補足
ご回答ありがとうございます。M(__)M すいません。質問の仕方が足りなかったので補足させて頂きます。実はNOとは別に個人IDがあるとします。今回教えて頂いた方法でNOの上位5件を抽出することが出来たのですが、サブレポートがIDでリンクされていますので全く無関係な5件が抽出されておりサブレポートには全くデータが出てきませんでした(>_<)もう一度補足させて頂きます。 IDを一致させて抽出した中で上位5件を取り出したいです。これはSQLで両方の条件を組み込まないと、レポートのプロパティの【リンク親フィールド】【リンク子フィールド】で設定して、さらにそのサブレポート内で指定しているQ_印刷でTOP5を取り出すということは出来ますでしょうか。効率が悪そうなので他に良い方法がありましたら教えてください。
お礼
レポートを開く時のモジュールにSQLで個人IDとTOP5を指定したらうまくいきました。ややこしく考え過ぎていたようです。 ありがとうございましたM(_ _)M
補足
ご回答ありがとうございます。M(__)M No1のかたの補足でまとめて入力をさせて頂きましたので、もしそちらの内容でまた良い方法があれば教えてください。お願い致します。