• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:クエリで、1つ前の在庫数を表示するには)

クエリで1つ前の在庫数を表示する方法と注意点

このQ&Aのポイント
  • Accessのバージョン2002で、品目ごとの在庫数の変化量を調べるために「1つ前の在庫数」というフィールドを作成する方法を紹介します。
  • 品目がレコード順に並んでいる場合は問題ありませんが、順不同でデータを入力する場合は注意が必要です。
  • 特定の品目の「1つ前の在庫数」を表示するためには、フィルターを使って結果を絞り込む必要があります。注意点として、途中で別の品目のデータが入ると、意図しない結果が表示される可能性があることです。

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

  • ベストアンサー
noname#231195
noname#231195
回答No.1

ご質問に答えるだけなら、こういう風にすることができます。 1つ前の在庫数: DLookUp("在庫数","在庫数","ID=" & Nz(DMax("ID";"在庫数","ID<" & [ID] & " AND 品目='" & [品目] & "'"),0)) 要するに、[ID]-1の代わりに、そのレコードが示す品目のすべてのレコードのうち、IDがそのレコードのIDより小さい最大のIDを DMax("ID";"在庫数","ID<" & [ID] & " AND 品目='" & [品目] & "'") で拾ってきます。 ただ、該当するレコードがない場合はNullが返ってきて、DLookUpがエラーを出してきますので、NzでNullを0に変えています。 エラーが表示されてもいいのならNz(... , 0)の部分はいりません。

1968masaru
質問者

お礼

Firefoxの設定が変わっていましたので、お礼コメント入力で時間が掛かりましたが、無事解決出来ました。 有難うございました。