ACCESS 2007 レポートの年度毎の集計方法

このQ&Aのポイント
  • ACCESS 2007のレポート作成時に、年度毎にグループ化し集計する方法について説明します。レポートにて、品名、日付、金額を表示し、年度毎にグループ化したい場合は、クエリを使用して平成13年度のデータのみ表示させることができます。
  • 年度毎にグループ化し集計したい場合、以下の手順で設定します。 1. レポート作成画面で、デザインビューを選択します。 2. 品名、日付、金額のフィールドを配置します。 3. フィールドを右クリックし、[グループ化]を選択します。 4. [グループ化の設定]ダイアログボックスが表示されるので、[表示したいフィールド]に日付フィールドを選択し、[グループ名]に年度フィールドを選択します。 5. [合計]を選択し、集計したいフィールドを選択します。 6. [OK]ボタンをクリックし、グループ化を適用します。
  • 年度毎にグループ化し集計したレポートを表示させるためには、クエリを使用する必要があります。クエリ内で、抽出条件にBetween CDate(CStr([年度を入力]) & "/4/1") And CDate(CStr([年度を入力]+1) & "/3/31")と指定することで、指定した年度のデータのみを表示させることができます。
回答を見る
  • ベストアンサー

ACCESS 2007 レポートについて

ACCESS 2007 レポートについて レポート作成時、年度毎にグループ化し集計したいのですがうまくいきません。イメージとしては下記のように作成したいです。 テーブル 品名  日付   金額 AAA  H12/4/1  3000 BBB  H12/12/31 4000 CCC  H13/3/31 5000 DDD  H13/4/1  6000 EEE  H13/10/1 7000 FFF  H14/3/31 8000 レポートにて 品名  日付  金額 AAA  H12/4/1  3000 BBB  H12/12/31 4000 CCC  H13/3/31 5000 平成12年度 合計3件 DDD  H13/4/1  6000 EEE  H13/10/1 7000 FFF  H14/3/31 8000 平成13年度 合計3件 こんな感じでレポートにて表示させたいのですが、ついでに年度毎に1ページに表示させたいです。(データが多ければ(2)ページになります) クエリを使用し、例えば、平成13年度のみ表示させることはできます。 抽出条件にBetween CDate(CStr([年度を入力]) & "/4/1") And CDate(CStr([年度を入力]+1) & "/3/31")

noname#190816
noname#190816

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

  • ベストアンサー
  • piroin654
  • ベストアンサー率75% (692/917)
回答No.2

テーブル名をテーブル1とします。 (1) 年度の求め方は、 Format(DateAdd("m",-3,[テーブル1]![日付]),"yyyy") で出ます。 クエリでは、たとえばこのような感じ。 西洋暦 SELECT テーブル1.日付, テーブル1.品名, テーブル1.金額, Format(DateAdd("m",-3,[テーブル1]![日 付]),"yyyy") AS 年度 FROM テーブル1; 和暦1 SELECT テーブル1.日付, テーブル1.品名, テーブル1.金額, Format(DateAdd("m",-3,[テーブル1]![日 付]),"ggge") AS 年度 FROM テーブル1; 和暦2 SELECT テーブル1.日付, テーブル1.品名, テーブル1.金額, Format(DateAdd("m",-3,[テーブル1]![日 付]),"e") AS 年度 FROM テーブル1; この場合は和暦2が適当かもしれません。 (2) (1)で作ったクエリを登録。レポートの新規作成 を選択し、「基になるテーブルまたはクエリの選択」で このクエリを選択し、「レポートウイザード」をクリック。 「フィールドの選択」で日付、品名、金額、年度の順に選択。 (3) 「グループレベルの選択」で年度を選択。 (4) 「詳細レコードの並べ替え・・・」で日付を選択。 「集計のオプション」で「合計」と「詳細および集計値のみ」 を選択し、「OK」とする。 (5) あとは「次へ」を選択し、終了。 (6) 出来たレポートをデザインビューで開き、年度ヘッダー の上でマウスを右クリックし、プロパティを選択。 プロパティの改ページの項をクリックし、 「カレントセクションの前」を選択し、保存する。 保存する。 (8) 詳細のテキストボックスの幅を調整し、日付、商品名 などが切れることなく表示されるようにする。 (9) 以上で、終了です。レポートを開いて確認して ください。レポートではいらないものも表示 しているかもしれません。たとえば総計、 各年度の合計の詳細レコード数など。いらないものは デザインビューで削除してください。ただし 気をつけて。 年度フッターのところは「合計」というラベルと、 =Sum([金額]) というコントロールソースが 表示されているテキストボックスがあれば いいかもしれません。あとのものは削除するか は判断してください。 総計がいらないときは総計を削除した後、一番下の 余白を上のほうに引き上げて余白を見えなくして おいてください。 なお、年度のレコード数が多い場合、このウイザード による方法で2ページ目の出力ができたかは確認して いないので、もしできなければ、改ページを「しない」 に設定してください。 出来ない場合は、サブレポートの使用とメインレポートに 送り込むデータの加工が必要になります。 この場合は、なかなかこの場で判るように 説明するのが難しくなります。各年度の改ページと 各年度の小計を出していくのはコードの記述と、 コントロールの設定がすべて手作業になります。 その場合は、一度サブレポートの作り方を 本やWEBでサンプルを探してトライしてみてください。 判らないところが出てきたら質問してください。 以上です。

noname#190816
質問者

お礼

急いでいたもので、テーブルに"年度区分け"フィールドを追加し、12、13,14・・・と入力していきました。 レポートで年度区分けごとに纏め、合計を出しました。 次回作成時に参考にさせてもらいます。ありがとうございました。

noname#190816
質問者

補足

これからも同じようなmdbを複数作成しなければならないので、その時実践してみます。

その他の回答 (1)

  • layy
  • ベストアンサー率23% (292/1222)
回答No.1

考え方。 やっている抽出条件の式の年度入力部分をデータの年度から求めるようにしたら各レコードはどの範囲のとき抽出されたらよいかが決まると思います。EやFレコードだとH130401からH140331までという意味の2項目を追加してやる。そのいつからH130401の年部分がそのまま何年度相当かの情報H13になります。 レポートのフッタにも使えます。 シンプルでなくとも確実です。

noname#190816
質問者

お礼

急いでいたもので、テーブルに"年度区分け"フィールドを追加し、12、13,14・・・と入力していきました。 レポートで年度区分けごとに纏め、合計を出しました。 次回作成時に参考にさせてもらいます。ありがとうございました。

関連するQ&A

  • Excelの関数に詳しい方、お願いします。

    わかりづらい説明かもしれませんが、よろしくお願いします。 例として、 AAA*BBB*CCC*DDD*EEE*FFF AAA*BBB*CCC*DDD*EEE*FFF AAA*BBB*CCC*DDD*EEE*FFF AAA*BBB*CCC*DDD*EEE*FFF AAA*BBB*CCC*DDD*EEE*FFF ・ ・ ・ といった文字列がエクセルの先頭列A1~A100までずらりと並んでいるとします。 各アルファベットには任意の数字(日付など)が入るとして、この並んだ百件のデータからCCCの部分の最大値を表示するための適切な関数があれば教えていただけないでしょうか? 現在少々急いでいるため言葉足らずで申し訳ありませんが、よろしくお願いいたします.

  • CSVデータをツリー表示させたい

    業務で、WEBサイトにCSVデータを表示させたいと考えています。 CSVデータは、毎日更新されるもので、行数も日々変更されます。 項目の中に「レベル」という項目があり、この「レベル」の値を使って、 ツリー表示出来ないかと考えています。 希望としては、決められたフォルダに決められたファイル名で、 CSVデータを置けば、自動的にWEB上にツリー表示されるという ことです。 J-query等で、これを実現出来るプラグインが無いか探しているのですが、 なかなか希望に合うものが見つからず、困っています。 (CSVをWEB表示するものは見つかるのですが、ツリー表示出来る ものが見つかりません) 何か、良い方法があれば、ご教示頂けませんでしょうか? 例 コード  レベル 品名  規格 ・・・・    コード     レベル 品名  規格 ・・・・  1234    1   AAA   aaa       -1234       1    AAA   aaa 2345    2   BBB   bbb        ∟2345     2    BBB  bbb 3456    3   CCC   ccc          ∟3456   3    CCC  ccc 4567    3   DDD   ddd          ∟4567   3    DDD  ddd 5678    3   EEE   eee           ∟5678   3    EEE  eee 6789    4   FFF   fff             ∟6789  4    FFF   fff 7890    3   GGG  ggg           ∟7890   3    GGG  ggg

  • アクセスのレポートでの連番付番方法について

     いつもお世話になっております。  アクセス2016のレポートで、連番のふり方についてお教えいただきたいと思います。  レポートでは、最初に日付でグループ化し、次に名前でグループ化しています。  連番は最初のグループ化でしている日付でふりたいのですが、やり方が分かりませんので、どうぞご教示をお願いいたします。  イメージは、下記のように考えています。 【例】テーブル名:T_仕事 日付    名前   仕事 8月1日  ああああ aaa 8月1日  ああああ bbb 8月1日  いいいい ccc 8月1日  うううう ddd 8月2日  うううう eee 8月2日  うううう fff 8月2日  ええええ ggg 8月2日  おおおお hhh 8月2日  おおおお iii 8月3日  かかかか jjj 8月3日  かかかか kkk レポート名:R_仕事 日付   名前   仕事 連番 8月1日 ああああ aaa  1           bbb  2      いいいい ccc  3      うううう ddd  4 8月2日 うううう eee  1           fff   2      ええええ ggg  3      おおおお hhh  4           iii   5 8月3日 かかかか jjj   1           kkk  2

  • ACCESSのレポートのついてです

    初心者でお恥ずかしい質問ですが、本当に悩んでいます。 どうか教えてください!! バージョンは2007です。 クエリで 以下の通り表示されているものを レポートで表示する方法についてです。 本社  AAA 本社  BBB 本社  CCC 本社  DDD 本社  EEE ア支店 FFF イ支店 GGG 以下続く ○表示したいレポート1   (担当)本社       (製品名)AAA             BBB             CCC             DDD             EEE ○レポート2   (担当)ア支店       (製品名)FFF             「以下余白」             (空白のセル)             (空白のセル)             (空白のセル)                 ○ 教えてください(1)   1ページに5件の製品名を表示できるをようにしたいです。   5件以下の場合は、空白のセルが表示されるようにしたいです             ○ 教えてください(2)    1~4件の表示の時、「以下余白」の文字を入れたいです 今の状況は、 レポート1  (担当)本社       (製品名)AAA             AAA             AAA             AAA             AAA です。 どうぞご指導ください!お願いします!!

  • Excelで同一のデータを抽出して横並びに

    A     B  C     D 商品コード 注文数  商品コード 注文数 aaa     15  ccc     4 bbb      12  ddd     6 ccc     10  aaa     22 ddd     6   eee     10 eee     5   bbb     7 fff       8 kkk 9 kkk 7 lll 4 上記のようなデータを 以下のように同じ商品コードを横並びに表示させたいのですが どういったcountifとかで試したのですが上手くいかず、どのような関数を使えば可能でしょうか? A     B  C     D 商品コード 注文数  商品コード 注文数 aaa     15  aaa     22 bbb      12  bbb     7 ccc     10  ccc     4 ddd     6   ddd     6 eee     5   eee     10 fff       8 kkk 7 kkk 9 lll 4 宜しくお願い致します。

  • ACCESSのレポート作成にて・・・

    レポートの改ページ時に困っております。 ┌───────┐P1  (担当1)       ←ページヘッダー             ←担当者ヘッダー  (A)区分      ←区分ヘッダー    1.aaa       ←詳細    2.bbb    3.ccc    4.ddd  (B)区分    1.eee    2.fff    3.yyy └───────┘ ┌───────┐P2  (担当1)       ←ページヘッダー    4.hhh       ←詳細    5.eee    6.aaa    7.ttt └───────┘ 上記の様にレポート出力をしていますが、P2に変わる際には、(B)区分のデータを 下記の様に再度表示させたいと思っております。 ┌───────┐P2  (担当1)   (B)区分       4.hhh        5.eee    6.aaa ACCESS97です。よろしくお願い致します。

  • CSVファイルをAccessに取りこみたい

    以下のような2つのCSVファイルがあるとします。 【hoge1.csv】 aaa,bbb,ccc,ddd 1,2,3,4 【hoge2.csv】 aaa,bbb,ddd,eee,fff 1,2,4,5,6 Accessをあまり使用したことがないので教えていただきたいのですが、 hoge1.csv、hoge2.csvを、以下のような形で Accessの1つのテーブルにインポートする事はできるのでしょうか? ---------------------------- | aaa | bbb | ccc | ddd | eee | fff | | 1 | 2 | 3 | 4 |  |  | | 1 | 2 |  | 4 | 5 | 6 | ---------------------------- ※「aaa」「bbb」…をフィールド名としたいです vb等でプログラムを自作するしかないのでしょうか? 何か良い方法がありましたら教えてください。お願いします。

  • C言語による「テキストファイルの読み書き(fprintf)」について

    C言語による「テキストファイルの読み書き(fprintf)」について質問です ずぶの初心者ですが、既知のファイルの1行目に指定した文字列を付加させるプログラムを作りたいと思っています。 以下のように作りました。 ------------------------------------------------------------ #include <stdio.h> int main(void) { FILE *fp; fp = fopen("test.csv","r+"); fprintf(fp,"コントロールカラム1,コントロールカラム2,・・・(略)・・・,コントロールカラム56\n"); fclose(fp); return 0; } ------------------------------------------------------------ このとき「test.csv」の内容が以下のようであったとします。(容量は1MBくらいです。) 001,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj 002,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj ~(略) 5000,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj この状態でプログラムをコンパイルして実行すると、「test.csv」の内容が以下のようになってしまいます。(一行目が消える) AAA,BBB,CCC,DDD,EEE 002,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj ~(略) 5000,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj またcsvの行が増える度に妙な挙動になっていきます・・・(一行あいたり、先頭行が5行ほど消えたり) 希望する動作としては コントロールカラム1,コントロールカラム2,・・・(略)・・・,コントロールカラム56 001,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj 002,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj ~(略) 5000,aaa,bbb,ccc,ddd,eee,fff,ggg,hhh,iii,jjj のようになるようにしたいのですがどのようにすればよいのでしょうか。 よろしくお願いします。 (使用ソフト:Borland C++ Compiler, Cpad) 参考にしたサイトの項目:http://homepage3.nifty.com/mmgames/c_guide/17-01.html

  • bshスクリプト で質問です。

    以下の内容のtmp.txtを aaa bbb ccc ddd eee fff 行末がbbbなら結合としたいです。 --希望結果-- aaa bbb ccc ddd eee fff この場合以下のスクリプトでうまくいかないのですが 原因を教えていただけますか? awk '{ gsub("bbb[\n]$","",$0); print }' tmp.txt OS、HP-UX11.0です。

  • sedで文字列の抜き出し

    ある一部分の文字列を抜き出したく、sedを使用したいと思って試行錯誤しております。 ↓あるファイル内の文字列 aaa bbb=ccc:ddd=eee:fff=ggg: aaa bbb=hhh:ddd=iii:fff=jjj: ※aaaとbbbの間はスペースです。 ※bbb,ddd,fffはある一定のキーワードです。 ※ccc,eee,ggg,hhh,iii,jjjはバラバラの文字列で長さも一定ではありません。 【質問】 上記の文字列の中でddd=の後の文字列(eee,iii)のみを抜き出したいです。 以下のようなsedを試してみましたが、 eee:fff=ggg iii:fff=jjj が抜き出されてしまいます。 sed 's/.*:ddd=\(.*\):\(.*\)$/\1/' 恐れ入りますが、皆様の知恵をお貸し下さい。

専門家に質問してみよう