次の方法で共有

access2013 レポートで重複データの集計

Anonymous
2016-04-15T07:46:26+00:00

Access2013でシステムを作っています。

親子リンク方式で作ったフォームで入力した、テーブルのデータをレポート用にクエリーで連結しグループ化しても、子リンク側テーブルの親フィールドのID数だけ重複データが表示されてしまいます。

これを基にレポートを作成して、“重複データの非表示”で思うように表示できました、次にフォームヘッダの"Sum(コントロール)"で全体の集計として表示されているデータの合計が欲しいのですが、非表示も含んだ全体の合計になってしまいます。

グループ単位にして“重複データ表示”にして非連結のコントロールボックスに"Max(コントロール)"とするところまで良いのですが、それを集計しようとすると、"有効な名前として認識できません" と表示されてできません。

親側29個、子側13個のフィールドがあり、クロス集計クリエにすべて関連付けることは出来ないと思っています。

他に方法があるでしょうか? レポートでは複雑な集計は無理なんでしょうか?

解決できたらフォームから抽出、検索をして集計結果を出す予定です。

よりしくおねがいします。

Microsoft 365 と Office | アクセス | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2016-04-18T02:29:27+00:00

> サブに含まれているデータで絞り込んだ時メインも含めたデータが必要

それはあくまでサブレポートの問題であって、

要は「 1側(親側)のテーブルと多側(子側)のテーブルとを

内部結合/外部結合する選択クエリ」が

サブレポートのレコードソースであれば良さそうに

思えますが、具体的にどのようなクエリを作成されたのでしょうか。

可能であれば、そのクエリの SQL ビューの

実際の内容を明記されることをお奨めします。

*> 次に**フォームヘッダの"Sum(コントロール)"*で全体の集計として

> 表示されているデータの合計が欲しいのですが、

> 非表示も含んだ全体の合計になってしまいます。

ここで求めようとされているのが

「 1側(親側)のテーブルの(全ての)レコードの

 何らかのフィールドの値の合計」なのであれば、

メインフォームと同様に、メインレポートのレコードソースも

1側(親側)のテーブルのみでなければ同じ結果は得られません。

> グループ単位にして“重複データ表示”にして

> 非連結のコントロールボックスに"Max(コントロール)"とするところまで良いのですが、

> それを集計しようとすると、"有効な名前として認識できません"

> と表示されてできません。

「有効なフィールド名、または式として認識できません。」

ではないでしょうか。

この回答は役に立ちましたか?

0 件のコメント コメントはありません

3 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2016-04-18T08:02:29+00:00

    sk.exe さん

    対応ありがとうございます。

    アドバイスをいただき、冷静に視覚に頼らずデータを突き合わせた検証をやり直してみた結果、サブフォームの絞込でも“欲しい結果”が得れていることが判明いたしました。

    大変お騒がせしお手数をお掛けしましたことを深くお詫びいたします。

    検証を基に集計アプリをサブフォームを組み込んだフォームに作り直します。

    「有効なフィールド名、または式として認識できません。」はご指摘の通りでございます。手を抜きました。

    これに懲りずこれからもご活躍されることを願いまして失礼いたします。

    ありがとうございました。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2016-04-15T14:39:44+00:00

    sk.exe さん 

    さっそくの対応ありがとうございます。

    フォームのスタイルはご指摘の通りです。

    ご提案いただきましたスタイルのレポート形式も可能ですが、サブに含まれているデータで絞り込んだ時メインも含めたデータが必要で、フォームでは“重複データの非表示”が出来ないと思いましたので、フォームでの抽出を断念してレポートにしました。

    抽出した時の集計値も必要なためAccessのシステム関数で取り出せると処理も、アプリ作りも早いと思いますが、システム関数で策がなければ“VBA”に頼ることになりそうです。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. Anonymous
    2016-04-15T08:14:05+00:00

    > 親子リンク方式で作ったフォームで入力した、

    1側(親側)のテーブルをレコードソースとする単票フォームの詳細セクションに、

    多側(子側)のテーブルをレコードソースとする帳票フォームを

    ソースオブジェクトとするサブフォームコントロールが埋め込まれている、

    ということでしょうか。

    > テーブルのデータをレポート用にクエリーで連結しグループ化しても、

    > 子リンク側テーブルの親フィールドのID数だけ重複データが表示されてしまいます。

    1側(親側)のテーブルをレコードソースとするレポートの詳細セクションに、

    多側(子側)のテーブルをレコードソースとする(表形式の)レポートを

    ソースオブジェクトとするサブレポートコントロールが埋め込むような

    レイアウトには出来ない仕様なのでしょうか。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません