- ベストアンサー
月別にレポート作成する方法と関連クエリの作成について
- Access2000でのレポート作成についての質問です。月別にレポートを作成するために、抽出クエリを作成しましたが、関連付けがうまくいきません。他の方法やアイデアがあれば教えてください。
- 具体的には、月別の抽出クエリを作成して「レポート用クエリまとめ_サブ_月名」という形式でレポートを作成しましたが、メインのクエリとの関連付けが上手くいきません。どのようにすればうまく関連付けできるでしょうか。
- 質問者は月別にクエリを作成しなくても、もっと効果的な方法があるのかを知りたいとしています。URLには関連情報があります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
まず横の月が一年分でいいなら iif関数を使用して1月から12月すべて横に並べて見てはどうでしょう? 10個*12ヶ月で120フィールド位にはなってしまいますが・・・ iifの使い方は iif(条件式,条件式がTrueの場合,条件式がFalseの場合)です。 参考クエリを作ってみました。 支払い月は、テクスト型でサイズ7で YYYY/MM のデータが格納されていると想定しました。 参考クエリは↓↓↓↓↓↓↓↓↓ SELECT 一覧テーブル.支払先No, 一覧テーブル.支払先, 一覧テーブル.入居者, Sum(IIf(Right([一覧テーブル].[支払月],2)='01', [一覧テーブル].[家賃],0)) AS 1月家賃, Sum(IIf(Right([一覧テーブル].[支払月],2)='01', [一覧テーブル].[駐車場],0)) AS 1月駐車場, Sum(IIf(Right([一覧テーブル].[支払月],2)='01', [一覧テーブル].[共益費],0)) AS 1月駐共益費, Sum(IIf(Right([一覧テーブル].[支払月],2)='02', [一覧テーブル].[家賃],0)) AS 2月家賃, Sum(IIf(Right([一覧テーブル].[支払月],2)='02', [一覧テーブル].[駐車場],0)) AS 2月駐車場, Sum(IIf(Right([一覧テーブル].[支払月],2)='02', [一覧テーブル].[共益費],0)) AS 2月駐共益費 FROM 一覧テーブル WHERE (((Left([支払月],4))='2001')) GROUP BY 一覧テーブル.支払先No, 一覧テーブル.支払先, 一覧テーブル.入居者;
お礼
ちょっと試しにやってみました。 どうやらできそうです。 やっぱり膨大なフィールドにならざるを得ないのですね。 楽をして、実行しようとしていたのですが、どうやら無理みたいですね(^^; 地道にやろうと思います。 ありがとうございました。 また何かありましたらよろしくお願いしますm(__)m
補足
おかげでテーブルは ────┬─┬─────┬─────┬─────┬─ 人物名 │月│1月分家賃│2月分家賃│3月分家賃│・・・ ────┼─┼─────┼─────┼─────┼─ 人物名1│1│ ****** │ │ │ ────┼─┼─────┼─────┼─────┼─ 人物名2│1│ ****** │ │ │ ────┼─┼─────┼─────┼─────┼─ 人物名1│2│ │ ****** │ │ ────┼─┼─────┼─────┼─────┼─ 人物名2│2│ │ ****** │ │ ────┼─┼─────┼─────┼─────┼─ のようにすることができました。 これをレポートにし、 ────┬───────┬───────┬───────┬─ 人物名 │ 1月分 │ 2月分 │ 3月分 │ ────┼───────┼───────┼───────┼─ 人物名1│家賃 ****** │家賃 ****** │家賃 ****** │ │共益費 **** │共益費 **** │共益費 **** │ ────┼───────┼───────┼───────┼─ 人物名2│家賃 ****** │家賃 ****** │家賃 ****** │ │共益費 **** │共益費 **** │共益費 **** │ ────┼───────┼───────┼───────┼─ とできました。 ですが! 上記のテーブルでもかいてあるように、同一人物の名前が複数あるため、レポートにも同じものがいくつもできてしまうのです。 これを回避するよい方法はありますか? 何度もすいません。