- ベストアンサー
アクセス2003 集計『最後』
いつもお世話になっています。 <仕入記録テーブル>で商品Aを下記のように複数回入力してあります。(数字がズレてたらすいません。) | 仕入ID | 仕入年月日 | 商品名 | 数量 | 単価 | 76 2006/4/26 A 5 108 78 2006/4/28 A 5 108 253 2006/7/20 A 10 108 815 2006/11/10 A 10 120 843 2007/1/11 A 5 108 852 2007/1/12 A 2 120 1001 2007/2/19 A 10 120 クエリで<仕入記録テーブル>から各商品の最も最近の仕入単価を取り出したいと思い、デザインビューで<仕入記録テーブル>から<単価フィールド>を選択し集計方法を『最後』に設定しました。 すると表示された金額がなぜか108円になってしまいました。 やり方がおかしいのかと思いDLast関数というのも試してみたのですが、構文がイマイチ理解できずうまくいきませんでした。 仕入記録から仕入年月日の最も新しい仕入単価を出すにはどうしたらよいのでしょうか? よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
次は、実際のクエリのデザイン画面です。 フィールド:仕入単価|仕入年月日 テーブル_:仕入記録|仕入記録 並び替え_:_____________|_______________ 表示_______:______レ_____|_______________ 抽出条件_:____________|(SELECT Max(仕入年月日) FROM 仕入記録) SQLビューで見ると、次のようになるようです。 SELECT 仕入記録.仕入単価 FROM 仕入記録 WHERE (((仕入記録.仕入年月日)=(SELECT Max(仕入年月日) FROM 仕入記録))); 抽出条件にサブクエリを指定するということです。
その他の回答 (1)
「最後」というのは最後に入力されたデータのことです。入力データ内の日付が最後かどうかは関係ありません。インデックスなどで見た目の並び順を変えても同じです。 「仕入年月日」の値がMAXのレコードの「単価」を調べる式を設定することで、最近の仕入単価とすることができます。 http://support.microsoft.com/default.aspx?scid=kb;ja;208190