• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Accessのクエリで日付指定して値を集計する方法)

Accessのクエリで日付指定して値を集計する方法

このQ&Aのポイント
  • Accessのクエリを使用して、特定の日付範囲で「本数」の値を集計し、「2か月先販売予定」と「2か月以上先販売予定」フィールドとして表示する方法を教えてください。
  • クエリを使用して、当月から2か月先までのレコードの「本数」を集計し、「2か月先販売予定」フィールドに表示する方法と、2か月以上先の値も集計して「2か月以上先販売予定」フィールドに表示する方法を教えてください。
  • Accessのクエリを使って、特定の日付範囲で「本数」の値を集計し、「2か月先販売予定」と「2か月以上先販売予定」フィールドに表示する方法を教えてください。

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

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

No3です。貼り付けたときにSQL文がずれたようなので 貼りなおしします。また、AccessのSQLビューに貼り付ける ときは、以下のほうがいいようなので、こちらに変更してください。 No3のままだと、「後期本数の合計」のフィールドが、      式1: Temp2.本数の合計 となり、 フィールド  前期本数の合計  式1: Temp2.本数の合計 テーブル     Temp1 のようになってしまうので、 フィールド  前期本数の合計  後期本数の合計 テーブル     Temp1        Temp2 のように手直しが必要になります。 SELECT Temp1.前期本数の合計, Temp2.後期本数の合計 FROM [SELECT Sum(テーブル名.本数) AS 前期本数の合計 FROM テーブル名 HAVING (((テーブル名.販売開始日)>=DateSerial(Year(Date()),Month(Date()),1) And (テーブル名.販売開始日)<=DateSerial(Year(Date()),Month(Date())+3,0)))]. AS Temp1, [SELECT Sum(テーブル名.本数) AS 後期本数の合計 FROM テーブル名 HAVING (((テーブル名.販売開始日)>=DateSerial(Year(Now()),Month(Now())+3,1)))]. AS Temp2;

その他の回答 (3)

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

前期本数の合計  後期本数の合計  750         700 のようにしたい、ということですか? 以下のようにしてみてはどうでしょう。 テーブル名は実際に合わせて変更してください。 SELECT Temp1.前期本数の合計, Temp2.本数の合計 FROM (SELECT Sum(テーブル名.本数) AS 前期本数の合計 FROM テーブル名 HAVING (((テーブル名.販売開始日)>=DateSerial(Year(Date()),Month(Date()),1) And (テーブル名.販売開始日)<=DateSerial(Year(Date()),Month(Date())+3,0)))) AS Temp1, (SELECT Sum(テーブル名.本数) AS 後期本数の合計 FROM テーブル名 HAVING (((テーブル名.販売開始日)>=DateSerial(Year(Date()),Month(Date())+3,1)))) AS Temp2; なお、 >同時に2か月以上先(この表でいうと201/06/01~2014/07/01) については、「2か月以上先以降すべて」としています。「二ヶ月毎」 ということではないようだ、との解釈です。そうでないならば、「後期本数の合計」 の期間の設定を変更する必要があります。

noname#192382
noname#192382
回答No.2

回答します。クエリで抽出条件のところでたとえば >2014/4/1 and <2014/6/1 と指定すると4月2日から5月31日までの本が抽出されます。そこで合計はクエリの結果の見えているところでツールのOFFICE LINKSのうちのエクセルを選び、エクセルにテータを持っていき、本数のフィールドを合計をツールバーの機能で計算したらよいです。

yy1192
質問者

お礼

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

回答No.1

不明な点が2個。 月初販売開始なので、 >201/04/01~2014/05/01 とされているかと思いますが、 期間としては201/04/01~2014/05/31 ですよね? 二か月以上先の場合も、201/06/01~未来永劫 ? 求めたい結果の書式はどのようになりますか? テーブル説明であげられたように↓ 商品コード 本数 販売開始日 A       100  2014/04/01 B       150  2014/04/01 C       200  2014/05/01 D       300  2014/05/01 E       400  2014/06/01 F       300  2014/07/01 例を載せてみてください。 それによっては、クエリだけではなくVBA必須かもしれませんし さらに言えばレポートに限って表現できる、・・・不可となるやも。

関連するQ&A

専門家に質問してみよう