• ベストアンサー

Access2007 年度ごとの四半期を抽出する方法

お世話になっております。 クエリウィザードで四半期の合計を作成すると、売上日のフィールドはこのようになります。 "第 " & Format([売上日],"q") & " 四半期" これですと、年度が関係なくすべてのデータが四半期に振られるだけですので、年度ごとに表示させたいと思います。 4月期ですので、フォームのテキストボックスに、2008/04/01と2009/03/31というデータがあれば、その間の四半期データを表示させたいです。 (第一四半期が4、5、6月です) ご教授いただければ幸いです。 よろしくお願いいたします。

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

  • ベストアンサー
  • kurodai2
  • ベストアンサー率38% (77/202)
回答No.5

ちょっと微妙に書き方が変でした。 実際には Between [Forms]![フォーム1]![開始年月日] And [Forms]![フォーム1]![終了年月日] となると思いますので、 登録するパラメータも [Forms]![フォーム1]![開始年月日] [Forms]![フォーム1]![終了年月日] ですね

kami21
質問者

お礼

お世話になっております。 パラメータの設定をすればクロス集計クエリでのエラーがなくなりました。 同様に集計クエリでもできました。 詳しく書いていただき、大変勉強になりました。 ありがとうございました。

その他の回答 (5)

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.6

下の式で年度と四半期が求まります 年度: Year(DateAdd("m",-3,[日付])) 期: "第 " & Format(DateAdd("m",-3,[日付]),"q") & " 四半期" >たとえば適当なフォームのコンボボックスで年度を選べば、その年の四半期が表示するような感じです。 年度の抽出条件欄に Forms!フォーム名!コンボボックス名

kami21
質問者

お礼

ご回答ありがとうございました。 この方法でもできました。ありがとうございました。

  • kurodai2
  • ベストアンサー率38% (77/202)
回答No.4

>ご指示の通りパラメータクエリをやってみましたが、”[開始年月日を入力してください]を有効なフィールド名または式として認識できません。”というエラーが出ました。 クロス集計は、パラメータでデータ型を明確に指定しないとそのうなるようです。 私はクロス集計を余り使うことが無いので 集計クエリと思い込んでいました。 >そこで、選択クエリでBetweenを実行したところ、成功しました。 >しかし、選択クエリでは期間の抽出はできても、四半期の集計ができませんでした。 集計クエリでは問題なく成功します。(集計クエリでテストしていました) クエリのデザイン時に シグマのマークのツールボタンがあると思います。 合計したい項目を集計:合計にすれば 四半期の集計ができます。 さて、クロス集計ですが・・ この内容を クロス集計にされている具体的な内容はわかりませんが・・ >Between [Forms!フォーム!開始年月日] And [Forms!フォーム!終了年月日]のような物をクエリのどこかに書けば良いのでしょうか。 これは、内容も問題ないです。 書くのも、先の内容のように新たな列に 売上日を指定して Where条件とします。 これだけでは、同じようにエラーとなります。 クエリのデザイン画面に、パラメータのツールボタンがあると思います。 これをクリックするとパラメータの指定が開かれます。 ここに [Forms!フォーム!開始年月日] 日付型 [Forms!フォーム!終了年月日] 日付型 の様に、指定しておけば クロス集計でもエラーになりません。

  • kurodai2
  • ベストアンサー率38% (77/202)
回答No.3

訂正です 方法 1.現在のクエリの最後の列に テーブルから、フィールド売上日を指定してください。 最後の列ではなく、最後の列の右側の事です(新しい列)

  • kurodai2
  • ベストアンサー率38% (77/202)
回答No.2

>たとえば適当なフォームのコンボボックスで年度を選べば、その年の四半期が表示するような感じです。 そうですね・・ コンボボックスの名称とか色々具体的であれば ピンポイントに 書きだせますが ちょっと漠然としていますね。 クエリー上では、売上日をWhere 条件でその年度の範囲で絞りこむ記述をする形になります。 フォームはちょっと置いておいて クエリーに手を加える形で実現できる方法を書きますのでトライしてみてください。 パラメータと言う機能を使います。 クエリーを実行すると、まず「開始年月日」を聞いてきます。 次に「終了年月日」を聞いてきます。 それぞれ 2008/04/01 2009/03/31の様に入力します。 方法 1.現在のクエリの最後の列に テーブルから、フィールド売上日を指定してください。 2.集計部分は、「Where条件」を選んでください。 3.表示は、チェックをしません。 4.条件は以下をそのまま書いてください。 Between [開始年月日を入力してください] And [終了年月日を入力してください] これで、クエリー実行時に会話式に自由に設定可能です。 単一年度・複数年度 指定次第でどのようにもなります。 補足: フォームでするとなると、例えばそのコンボで 2008を選んだ場合 2008/04/01と2009/03/31を生成しないといけません。 フォーム上で非表示のエリアに生成する事も出来るし、関数で用意して クエリー上で直接利用も考えれますが、いずれにしても もう少しデータベース(SQL言語)自体を把握されないと 説明が難しいかなと感じます。 今回の方法は、たぶん色々な市販書にも書いてある「パラメータクエリ」に成ります。 先ずは、クエリーで(フォームを絡めず)実現されてみては如何でしょうか。

kami21
質問者

補足

お世話になっております。 最初に書き忘れたのですが、今回作ったのはクエリウィザードから作成したクロス集計クエリになります。 ご指示の通りパラメータクエリをやってみましたが、”[開始年月日を入力してください]を有効なフィールド名または式として認識できません。”というエラーが出ました。 ご指示では、”3.表示は、チェックをしません。”とありましたが、クロス集計クエリにはチェック欄はありませんでした。 そこで、選択クエリでBetweenを実行したところ、成功しました。 しかし、選択クエリでは期間の抽出はできても、四半期の集計ができませんでした。 コンボで2008を選んだ場合、2008/04/01と2009/03/31を生成するのはVBAで書けますので、 Between [Forms!フォーム!開始年月日] And [Forms!フォーム!終了年月日]のような物をクエリのどこかに書けば良いのでしょうか。 VBAはある程度わかりますが、SQL言語はわかりませんので申し訳ございません。 またご教授いただければ幸いです。 よろしくお願いいたします。

  • kurodai2
  • ベストアンサー率38% (77/202)
回答No.1

もっとスマートな方法もあるのでしょうが ゴリゴリと書きました。 IIf(Month([売上日])<=3,Year([売上日])-1 & "年 4期",IIf(Month([売上日])<=6,Year([売上日]) & "年 1期",IIf(Month([売上日])<=9,Year([売上日]) & "年 2期",Year([売上日]) & "年 3期"))) AS 四半期

kami21
質問者

補足

ご回答ありがとうございました。 下記をフィールドに書けば2008年の四半期が表示されました。 式1: IIf(Month([売上日])<=3,Year([売上日])-1 & "年 4期",IIf(Month([売上日])<=6,Year([売上日]) & "年 1期",IIf(Month([売上日])<=9,Year([売上日]) & "年 2期",Year([売上日]) & "年 3期"))) あとこれを年度ごとに表示させたいと思います。 たとえば適当なフォームのコンボボックスで年度を選べば、その年の四半期が表示するような感じです。 ご指導いただければ幸いです。 よろしくお願いいたします。

関連するQ&A

  • Access2007 半期合計を抽出する方法

    お世話になっております。 クエリウィザードで四半期の合計を作成すると、売上日のフィールドはこのようになります。 "第 " & Format([売上日],"q") & " 四半期" これを半期のデータにしたいと思っています。 (上半期が4、5、6、7、8、9月です) ご教授いただければ幸いです。 よろしくお願いいたします。

  • アクセスで年度で表示

    アクセス2000 初心者です。 [伝票テーブル.TBL] にデータがあります。 フィールド は  [日付] と [売上] です。 [日付] について 年別でなく 年度別の 売上 合計 と 件数 を 集計 をしたいのです。(4月1日から3月31日まで) (1)レポートを使う場合 ウイザードを使って、グループレベルを [日付] にする。そこで グループ間隔の設定 の中に、"年" と "四半期" しかありません。 "年度" がないので、困っています。 (2)クエリを使う場合 選択クエリで 年度 の 式: を作ってみようとして年度: if(month([日付])<4,year([日付])-1989,year([日付])-1988)などと、何も分からずにやってみましたが、予想どおりうまくいきませんでした。 関数は、何を使うのでしょうか? [ とか " が間違っていますか? これで、できた選択クエリ を [年度]について、クロス集計クエリウイザードで処理したらできるのではないかと思っていますが、間違いでしょうか?もっとよい方法があるでしょうか? よろしくお願い致します。

  • accessで年度の表示をさせたい

    いつもお世話になります。過去ログ参照し、いろいろやってみましたが、どうしても解決できないのでよろしくお願いします。 商品の売上の管理をするDBをつくろうとしています。 テーブルに会社マスタとして、会社名と会社IDが、商品マスタには商品名と商品IDが、伝票には伝票番号、会社番号、商品番号、日付、年度のフィールドが作ってあります。 伝票を入力するためのフォームとクエリも作成しています。 伝票を入力するフォームに年度というテキストボックスを作成し、コントロールソースに=IIf(Month([txt])<4,Format(DateAdd("yyyy",-1,[日付のテキストボックス名]),"gggee" & "年度"),Format([日付のテキストボックス名],"gggee" & "年度")) を入力し、日付が決定されると年度を表示されるようにしたかったわけです。 本来、日付のフィールドはデータ型に、「日付/時刻型」を選んでおり、日付カレンダーの表示により、目的の日にちを選択することでyyyy/mm/ddの表示をさせているものです。定型入力の欄は空白になっています。 ところが、フォームをデザインビューで開くと年度の欄に「#Name?」 の表示が出てしまいます。基本的なことなのでしょうが、わかりやすく説明していただけないでしょうか? あと、~月度のような考え方はどのようにしたらよいでしょう?

  • ピボットテーブルの四半期について

     ピボットテーブルで、2004/4/1から2005/3/31までの売上をグループ化しようとしたら、月で、グループ化すると、1月から12月の順に売上が左から、表示され、四半期でグループ化したら、第1四半期が、2005/1/1から2005/3/31になってしまいました。 これはなぜですか。2004/4/1のほうが先なのに、第1四半期が2005/1/1から2005/3/31になってしまいます。 2004年などの西暦が無視され、1月から第1四半期とするようにシステムがなっているのでしょうか。   だから、第1四半期を手動で一番右に移動させ、第2四半期を第1四半期と上から書き直すしかないのでしょうか。 エクセル2000なのですが、2003などの新しいバージョンでも同じでしょうか。 売上がずれてしまうのです。 西暦は区別してくれないのでしょうか。

  • 四半期決算の第2四半期は?

    日本でも今年度から四半期決算が導入されましたが3月決算の法人は今回第1四半期を4~6月の期間で決算を組んだ訳ですが、次の第2四半期は4~9月(要は従来の中間決算)なのか7~9月の期間の計算なのかがわかりません。もっというと第3四半期もですが・・。税務の消費税においては第2四半期は7~9月の概念なのですが会計は違うようなきもするし、どなたかご教示ねがいます。

  • アクセスでの年度別集計

    教えてください。 売上データの支店別・品目別の年間売上の集計を出したいのですが、売上年と売上月は別のフィールドになっています。下記の様な感じで・・・ CD 支店名 品目 売上金額 売上年 売上月  2004年度(2004/4/1~2005/3/31)の品目別売上合計を出したいのです。 クエリは売上フィールドで集計し、抽出条件を、  売上年    売上月  2004      >=4    2005       <=3 にしてみたのですが、そうすると品目の合計にはなりません。(同じ品目でも売上月が違えば別のレコードになります) わかりにくい説明で申し訳ありませんが、困っています。よろしくお願いします。

  • 四半期決算について

    四半期決算を今年度から行います。3月決算の会社なのですが 第1四半期は6月になりますよね、中間・期末決算のように四半期決算 もするのでしょうか?例えば中間・期末決算の様に 引当金の洗い替え・株式評価法人税等調整額の仕訳なども 行うのでしょうか?

  • 四半期決算の方法について

    数年後のIPOに向けて四半期決算を今年度から行います。 3月決算の会社なのですが第1四半期は6月になりますよね、中間・期末決算のように四半期決算中間・期末決算の様にきっちりやるものなのでしょうか? 例えば引当金の計上・前払・未払費用の計上・株式評価・法人税等調整額なども行うのでしょうか? 一般的にはどうなのでしょうか?どなたか教えてください

  • アクセスでクエリーによる抽出方法

    アクセスの超初心者です。 クエリーのデータをフォームのコンボボックス等のデータを選ぶことにより抽出したいのです。クエリーの抽出条件にフォームのコンボボックスを割り当てて抽出することはできるのですが、例えばクエリーデータは下記のようになっています。  A  B  石川  100 東京  200   沖縄  150 フォームのコンボボックスで石川を選べば  "石川" "100"と表示できますが、コンボボックスに”すべて”という項目をつけてその”すべて”をクリックするとクエリーが全表示になるようにしたいのです。(そのクエリーにはすべてという項目はない) 長くなりましたがおわかりいただけたでしょうか。よろしくお願いします。 また、クエリーを使わず別の抽出方法がありましたら教えてください。というのもいろいろな抽出条件をするのにそのつどクエリーを作らなければならないからです。よろしくお願いします。

  • Access 決算期の処理について

    総売上、小物売上、利益、の3つの項目があり さらにこれを元に利益率と前年比を出します。 これらのデータは3年分使います。 前々期総売上、前期総売上、今期総売上・・・・・ 日付けが決まっているのですが、年度の期首が7月です。 なので 例えば平成17年7~平成18年8までの日付は、平成17年度決算になります。 これらの扱いに困っています。 テーブルを縦に持ち 総売上、小物売上、利益、日付けと持ち クエリで横に直してから(同じ複数クエリを横に並べる(3年分なので3つ)) 日付けから決算期を算出、さらにこの決算期に抽出条件を設定し各年度のデータを抜き出します。 しかし、この様なことをするとフォーム上で使えない 気がするのですがどうでしょうか? フォームの入力or修正内容としては、前々期総売上、前期総売上、 今期総売上、前々期小物売上、前期小物売上、今期小物売上、前々期利益、前期利益、今期利益となります。 (利益率と前年比はこれを元に計算表示(これも三期分持ちます)) 前々期総売上、前期総売上、などの前の期の売上等も修正を行います。 このような場合縦列ではなく横列で持った方がよいのでしょうか? Accessを使い始めたばかりなので、全体像が見えてこないです。 他のスレッドでこれに関係する質問をしていますが、埒が明かないのでまとめて質問させていただきました。 分かる方宜しくお願いします。