#62 指定商品を1年前に購入した顧客を表示する



"1年前"という条件をどのように解釈するかはさまざまですが、ここでは、今日からみて去年の1月1日から12月31日の間と考えます。この場合、"2001/01/01〜2001/12/31"と日付を直接指定してもよいのですが、汎用性を持たせるために、日付を処理する関数を使ってみます。

具体的には、年・月・日をそれぞれ別々に与えることによってその日付データを返す「Dateserial関数」を使って、次のような演算式を抽出条件欄に入力します。次の式で、「Date()」は今日の年月日、「Year(Date())」は今日の&quot年&quotになります。よって「Year(Date())-1」は去年の&quot年&quotを表します。今日が2002年であれば、「DateSerial(Year(Date())-1,1,1)」の式によって2001年1月1日が表されることになります。

Between DateSerial(Year(Date())-1,1,1) And DateSerial(Year(Date())-1,12,31))

Date関数を使って今日の日付を取得してからそれに対する1年前の日付を計算していますので、これなら何年経っても"1年前"のデータを常に抽出することができます。


デザインビュー


SELECT tbl売上伝票.売上日付, tbl売上伝票.顧客コード, mtbl顧客マスタ.顧客名, tbl売上伝票明細.商品コード
FROM (tbl売上伝票 INNER JOIN tbl売上伝票明細 ON tbl売上伝票.伝票番号 = tbl売上伝票明細.伝票番号) INNER JOIN mtbl顧客マスタ ON tbl売上伝票.顧客コード = mtbl顧客マスタ.顧客コード
WHERE (((tbl売上伝票.売上日付) Between DateSerial(Year(Date())-1,1,1) And DateSerial(Year(Date())-1,12,31)) AND ((tbl売上伝票明細.商品コード)=164))
ORDER BY tbl売上伝票.売上日付;



データシートビュー

| Index | Prev | Next |

 

Copyright © T'sWare All rights reserved