- ベストアンサー
売り上げと原価を上下に並べて表示する
- 売り上げと原価を上下に並べて表示する方法について教えてください。
- 売り上げテーブルと原価テーブルから、指定した年と月の表を作成する方法を教えてください。
- 売り上げと原価のテーブルから、年と月を指定して店番号ごとの売り上げと原価を表示する方法を教えてください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
>クロス集計クエリからフォームを作れないので、開いていません この状態では PARAMETERS [Forms]![F売上と原価]![cob年] Text ( 255 ), [Forms]![F売上と原価]![cob月] Text ( 255 ); のパラメータに値がセットされないため上手く行かないのでしょう。対策として思い付くのは 1.パラメータの内容を直接セットする 2.「F売上と原価」をコピーして(仮に)「F売上と原価x」フォームを造り、それを利用してパラメータをセット、出来上がったらば差し替える 3.クロス集計クエリを利用する部分を別フォームで作成し、最終的に「F売上と原価」のサブフォームとして差し込む くらいでしょうか。
その他の回答 (4)
#2、#3です。 ご呈示いただいた、クロス集計クエリですが、パラメータに「F売上と原価」フォーム上の値が使われています。 フォームやレポートのウィザードを使って作成しようとするとき、「F売上と原価」フォームはアクティブになっているでしょうか?
#2です。#2に対する補足の意味が良く判りません >作成したテーブル 私が提案した(仮名)Reportテーブル でしょうか? >クロス集計クエリ このSQL文を提示できませんか? >このクエリ クロス集計クエリですか? >フォームやレポートを作成することができません。 どのようなエラーになるのでしょうか?
補足
>作成したテーブル 私が提案した(仮名)Reportテーブル でしょうか? →そうです。 >クロス集計クエリ このSQL文を提示できませんか? →以下の通りです。 PARAMETERS [Forms]![F売上と原価]![cob年] Text ( 255 ), [Forms]![F売上と原価]![cob月] Text ( 255 ); TRANSFORM Sum(売上と原価.Sales) AS Salesの合計 SELECT 売上と原価.ShopCode, dbo_ShopMaster.ShopName, 売上と原価.ShopCode2 FROM dbo_ShopMaster INNER JOIN 売上と原価 ON dbo_ShopMaster.ShopCode = 売上と原価.ShopCode WHERE (((Year([SalesDate]))=[Forms]![F売上と原価]![cob年]) AND ((Month([SalesDate]))=[Forms]![F売上と原価]![cob月])) GROUP BY 売上と原価.ShopCode, dbo_ShopMaster.ShopName, 売上と原価.ShopCode2 ORDER BY 売上と原価.ShopCode, 売上と原価.ShopCode2 DESC , 売上と原価.SalesDate PIVOT 売上と原価.SalesDate; >このクエリ クロス集計クエリですか? →そうです。 >フォームやレポートを作成することができません。 どのようなエラーになるのでしょうか? →フォームやレポートのウィザードを使って作成しようとすると、選択可能なフィールドに何も表示されず先に進めません。
データー量が膨大ではないと推測して 1.Reportテーブル作成(名前は適当。一度だけ作成) フィールドは:店番号、店番号+アルファ、日付、金額 2.Reportの全データ削除 3.売り上げテーブルからReportテーブルへ「追加クエリー」実行。この時「店番号+アルファ」フィールドに、店番号+"a" など、並べ替えようデータを出力 4.原価テーブルからReportテーブルへ「追加クエリー」実行。この時「店番号+アルファ」フィールドに、店番号+"b" など、並べ替えようデータを出力 5.Reportテーブルを「店番号+アルファ」フィールドで並べ替える(選択クエリー使用) みたいな流れで
補足
作成したテーブルを元にクロス集計クエリで表を作成することができました。 しかし、このクエリを元にフォームやレポートを作成することができません。どのようにしたらいいのでしょうか。 よろしくお願いします。
- ykym
- ベストアンサー率22% (8/35)
データベースの種類や表を作成する環境を書かないと明確な回答は得られないと思いますよ。 一般的な回答ですと売上テーブルと原価テーブルのカーソルを二つ用意して交互にデータを出力すればよいです。 それとも一つのSQL文で表を作成したいのでしょうか? ご使用の環境を詳しく書いてください。
補足
すみません。書き忘れました。 Windows2000でaccess2002を使用します。 できれば結果をフォームで表示し、それをレポートで印刷したいと思っています。 よろしくお願いします。
補足
返事が遅れてすみません。 >フォームやレポートのウィザードを使って作成しようと >するとき、「F売上と原価」フォームはアクティブになっ >ているでしょうか? とは、「F売上と原価」フォームを開いているか、ということでしょうか。という意味であれば、クロス集計クエリからフォームを作れないので、開いていません。 よろしくお願いします。