- ベストアンサー
Accessのクエリで日付指定して値を集計する方法
- Accessのクエリを使用して、特定の日付範囲で「本数」の値を集計し、「2か月先販売予定」と「2か月以上先販売予定」フィールドとして表示する方法を教えてください。
- クエリを使用して、当月から2か月先までのレコードの「本数」を集計し、「2か月先販売予定」フィールドに表示する方法と、2か月以上先の値も集計して「2か月以上先販売予定」フィールドに表示する方法を教えてください。
- Accessのクエリを使って、特定の日付範囲で「本数」の値を集計し、「2か月先販売予定」と「2か月以上先販売予定」フィールドに表示する方法を教えてください。
- みんなの回答 (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)
前期本数の合計 後期本数の合計 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か月以上先以降すべて」としています。「二ヶ月毎」 ということではないようだ、との解釈です。そうでないならば、「後期本数の合計」 の期間の設定を変更する必要があります。
回答します。クエリで抽出条件のところでたとえば >2014/4/1 and <2014/6/1 と指定すると4月2日から5月31日までの本が抽出されます。そこで合計はクエリの結果の見えているところでツールのOFFICE LINKSのうちのエクセルを選び、エクセルにテータを持っていき、本数のフィールドを合計をツールバーの機能で計算したらよいです。
- NotFound404
- ベストアンサー率70% (288/408)
不明な点が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必須かもしれませんし さらに言えばレポートに限って表現できる、・・・不可となるやも。
お礼
ご回答ありがとうございました。