• ベストアンサー

ACCESSでこの抽出をするには・・・

「最新回(一番新しいレコード)から過去○○回まで」を抽出範囲にした 抽出条件を設定したいのですがうまく出来ません。 一応 Between [何回目から抽出?] and [最新回は?]で 抽出は出来るのですが やりたいのは、 片方の最新回(一番新しいレコード)を固定して 「過去何回分までさかのぼる?」だけを入力して抽出したいのですが・・・ これは可能でしょうか?

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

  • ベストアンサー
  • bonaron
  • ベストアンサー率64% (482/745)
回答No.5

No.3です。 >DMax("何日目","記録テーブル")-[過去何回分?] の先頭の">"も入力していますか? ここでは引用の">"ではありません。 (より大きい)を表す、比較演算子です。

waiem00554
質問者

お礼

申し訳ありません 引用符と勘違いしていました。 回答していただいた通り 「>DMax("何日目","記録テーブル")-[過去何回分?]」で 抽出することが出来ました。 何度も回答していただきありがとうございました。

その他の回答 (4)

noname#15065
noname#15065
回答No.4

 横レスごめんなさい。  No.3のbonaronさんの回答でいけるはずですが、  ひょっとして、トップ値ボックスの値が 1 になってませんか? もしなってたら すべて にしてください。

waiem00554
質問者

補足

トップ値はすべてになってます 引用符と勘違いしたようです。

  • bonaron
  • ベストアンサー率64% (482/745)
回答No.3

[何日目]フィールドの抽出条件を >DMax("何日目","記録テーブル")-[過去何回分?] とします。

waiem00554
質問者

補足

>DMax("何日目","記録テーブル")-[過去何回分?] をやってみましたが 抽出できたのは 最新回から入力した[過去何回分?]を 引いたもの1つだけでした。 (最新回が300日目で[過去何回分?]を 10と入力したら291日目の記録のみ抽出されました。 この入力なら291日目~300日目の記録を 抽出できるようにしたいのですが・・・

  • akipapa
  • ベストアンサー率38% (34/89)
回答No.2

Betweenを使って、期待する結果が得られているということなので、Betweenの条件に使っているフィールドの型は数値ですか。 条件に使っているフィールドを「回数」とすると、条件は「回数>(最新回-さかのぼる回数)」ということで良いですか。「さかのぼる回数」は入力させるので、あと必要なのは「最新回」です。 レコードを追加するときに回数を入力するようにしている前提ですが、「最新回」はクエリで「回数」の最大値を求めることで取得できます。 最新回を求めるクエリの結果を抽出の条件に使うと出来ます。

waiem00554
質問者

補足

はい、Betweenの条件の型は数値です。 >条件は「回数>(最新回-さかのぼる回数)」 >ということで良いですか 最新回-さかのぼる回数の中の範囲を抽出したいです。 (最新回が300日目でさかのぼる回数を 100と入力したら201日目~300日目分を抽出する)  最新回は集計クエリの「最大」を使って 求められましたが そこから先で詰まりました。 Between [過去何回分?] And [回数の最大] だと 入力した[過去何回分?]=「何日目」フィールドの数字 になってしまいます。 最新回から入力した数値のぶんをさかのぼるには どうすればよいのでしょうか? 今作ってあるテーブルとクエリは下記の通りです ------------------------------ ・記録テーブル     フィールド 何日目(数値型)            周った回数(数値型)           走った距離(数値型) ・最新回クエリ=「何日目」の最大値を出すクエリ ・検索クエリ=記録テーブルと最新回クエリを合わせました

noname#86752
noname#86752
回答No.1

「一番新しいレコード」とはどの列に判断するのでしょうか、それによっては出来たり出来なかったりします。 テーブルレイアウトが分からないと的確な回答はつかないと思います。 AccessもそうですがRDBではデータを追加した順番というのは保障されません。 連番のようなものが列としてあるなら簡単ですが、そういうものがないと面倒です。 順番を認識できる列が全くない場合は不可能です。

waiem00554
質問者

補足

すみません、説明不足でした。 毎日ランニングコースで何周 周ったかを記録するDBを作ります。 記録テーブル フィールド 何日目(数値型)        周った回数(数値型)       走った距離(数値型) 何日目 周った回数 走った距離 -------------------------------   1    12     2400    2    12     2400   3     8     1600 何日目フィールドの数字で 最新回を判断したいです。

関連するQ&A