• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:一つ前のデータを入れたい)

Access2000で前のデータを取得する方法

このQ&Aのポイント
  • Access2000のクエリを使用して、特定の条件で前のデータを取得する方法を説明します。
  • 例えば、特定の条件に基づいてグループ化されたデータの中で、特定の列の値が最小でない場合、直前のデータを取得する方法を説明します。
  • これにより、ID、f1、f2の値はそのままにして、f3の値を条件に応じて正しく設定することができます。

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

  • ベストアンサー
  • holly2001
  • ベストアンサー率75% (25/33)
回答No.2

#1です。補足ありがとうございます。 では、グループは「f1=い、f2=a」といったデータが無くf2のみで特定できる、「ID=5」のデータは無視、という前提で続けます。 SQLを直接記載すれば処理が若干早い方法が使えますが、とりあえず普通のクエリデザインで行きましょう。 ID,f1,f2,f3を表示したクエリに、次のフィールドを追加してみて下さい。いかがでしょうか? f4: IIf([f3]=DMin("f3","テーブル名","f2='" & [テーブル名].[f2] & "'"),[f3],DMax("f3","テーブル名","f2='" & [テーブル名].[f2] & "' and f3<" & [テーブル名].[f3]))

togi
質問者

お礼

すごい!!! ばっちりです。 どうもありがとうございました。 これで先に進めます。

その他の回答 (1)

  • holly2001
  • ベストアンサー率75% (25/33)
回答No.1

定義域集合関数か自己参照で可能だと思いますが、補足をお願いします。 ◇「グループ」とは、何で判断するのでしょうか?   (f1が同じもの?f1もf2も同じもの?) ◇「一つ前のデータ」とは、何で判断するのでしょうか?   (同一グループ内で、IDが自分自身より小さく、かつ最大のもの?) ◇IDが5のレコードは、上の表(元データ)に無く、下の表(結果)には有ります。どこから出てきたのでしょうか? ◇IDが5のレコードは、IDが4のレコードと同一グループではないのですか?

togi
質問者

補足

ありがとうございます。 「グループ」とはf1が大分類でその中にもf2という小分類があります。今回のグループはf2のことです。 「一つ前のデータ」とはf2のグループ内でf3が小さい順にソートされたとき、f3の値を一つ前のデータのf3の値にしたいということです。 IDが5に関しては抜けてしまってました。すみません。