• ベストアンサー

Access2000 2番目に大きい数値の抽出

ランダムに日付の並んだフィールドがあると仮定します。(重複あり) このフィールドの2番目に新しい日付のみのレコードを抽出したいと思いますが、抽出条件にどのように記述するかわかりません。ご存知の方がおりましたら時間の許すときでかまいませんのでご教示ください。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

同じ値を表示してもいい場合はクエリで 順位:DCOUNT("[フィールド名]","テーブル名","[フィールド名]>" [フィールド名]) + 1 で順位を出しておいて DMIN("[フィールド名]","クエリ名","[順位]<=" & [順位]) で求められます。 同じ値を表示しない場合は 数式一回でなら最大値以下の最大値なので DMax("[フィールド名]","テーブル名","[フィールド名]<" & DMax("[フィールド名]","テーブル名")) で出来ると思います。 3番目、4番目と続く場合は 「DMax("[フィールド名]","テーブル名")」の部分を事前の数式の値にすれば簡単に求められます。

kuwakuwakuwa
質問者

お礼

御礼が遅れましてすみませんでした。感謝しています。アクセスの関数は厄介そうですが、わかりやすい説明でした。ありがとうございます。

関連するQ&A

  • ACCESS2000 クエリの抽出条件

    フィールドに無作為に年月日が入力されているとします。 クエリの抽出条件に>2008/1/1と入力すると「2008年1月1日よりも新しい日付のレコード」を選択できます。 新しい日付の上位25までを選択するためには、抽出条件になんと入力したらいいのでしょうか。あまりにも基本的な質問かもしれませんが、お時間の許す方にお願いします。

  • Accessでの抽出について

    Accessでのクエリーでの抽出の方法を教えてください。 たとえば「12345678」といったIDをもたせた人のデータが日付ごとにいくつかレコードがある場合に、クエリーのID欄の抽出条件欄には、「12345678」と入力すれば、その人のデータのみが表示されると思います。 そこで、 (1)その中の日付から、最新のものから3つを抽出したい場合。 (2)その中の日付から、2番目に新しいものを抽出したい場合。 において、クエリーの抽出条件になんて書いたらよいのでしょうか? できましたら、(1)(2)それぞれお答えいただければ幸いです。 どうぞよろしくお願いいたします。

  • ACCESS2003:2番目に大きい値を1レコードのみ抽出

    氏名、ポイントと2つのフィールドをもつテーブル1をもとにクエリ1を作成し、クエリデザインでDMax("[ポイント]","クエリ1","[ポイント]<=" & DMax("[ポイント]","クエリ1"))といった2番目に大きい値(1番目の値が2つ以上ある場合はその値で可)を抽出する式をつくりました。抽出条件に任意の氏名を指定した結果、2番目に大きい値は抽出できましたが、ポイントのデータ数ぶんだけ複数のレコードを表示してしまいます。できれば別のクエリを作成したりせずに、1つのレコードのみ表示させたいのですがどのようにしたらよいか分からず困っております。よろしくお願いします。

  • ACCESS2000でのレコード抽出

    OS:WindowsXP ACCESS2000 あるフィールドの値が最大となるようなレコードを選択クエリで 抽出しようとしているのですがうまくいきません。 テーブルのフィールドは4個あります。 テーブル [系列] [優先度] [データ1] [データ2] ここで各系列ごとに優先度が最大となるレコードのみを 抽出したいのです。 系列、データ1、データ2は重複がありえます。 優先度は系列を跨いだ重複はありますが、 同系列内での重複はありません。 レコードの例) 1:系列A 優先度1 データA データB 2:系列A 優先度2 データC データD 3:系列B 優先度1 データE データF 上記の例で言いますと、レコード2:とレコード3:のみを 抽出するクエリを作成したいのです。 集計クエリで優先度のフィールドを「最大」にしても、 3つのデータ全てが抽出されてしまいます。 どなたか解決策をご教示ください。

  • access2000での抽出条件

    DBから選択クエリーを作ってある条件を満たすデータを抽出したいのですが、レコードの量が多くて(10万単位)スぺックの悪いPCなので並べ替えをするにも固まってしまって困っています。 同じ名前を持つレコード群の中で最新の日付のレコードだけを抽出する関数ってありますか? 例えば 発生日,名前,種類,住所,電話番号 の5つのフィールドがあり、その中で同じ"名前"を持つ"発生日"の中で最新の日付だけを抽出する、として教えていただけないでしょうか。 よろしくお願いいたします。

  • Accessでの抽出について

    Accessで下記のようなテーブルがあるとします。 フィールド1  フィールド2  フィールド3 ----------------------- Aさん      20       200 Aさん      10       180 Bさん      10       300 Cさん      10       250 Cさん      30       310 条件1・・・フィールド2が「20」 条件2・・・フィールド3が「200」 この条件が当てはまる、フィールド1のデータはすべて抽出というふうにしたいのですが・・・。 (上記のテーブルでは、1件目と2件目のレコードがあてはまります。) どのようにして抽出したらよいでしょうか?よろしくお願いします。 Access2000を使用します。

  • ACCESSでの抽出について

    単純なクエリの抽出なのですが・・・。 区フィールド、町フィールドをクエリで作成して そのクエリを元に抽出フォームを作成しました。 そして、クエリの抽出条件に以下の式を入力しました。 Like "*" & [Forms]![F_抽出]![区] & "*" Like "*" & [Forms]![F_抽出]![町] & "*" しかし、大本のデータに [区]フィールド→品川区 [町]フィールド→空白 ・・・と、どちらかが空白の場合、そのレコード を抽出してくれません。 このように、空白フィールドを持つレコードをも 抽出するにはどのようにしたらようですか? 初歩的な質問で申し訳ありませんがよろしくお願いいたします。

  • ACCESS 抽出条件教えてください。

    accessで商品の売り上げ管理をしようとしています。 例えば、日足テーブルがあって、日付と売数フィールドがあるとします。 ----------------------------- 日付      売数 … 2005/11/01  12 2005/11/02  10 2005/11/03  13 … … 2005/12/01  21 2005/12/02  22 2005/12/03  25 … ----------------------------- とあったとします。 このとき、月別に最大売数を出したい時、抽出条件はどのようにすればよいのでしょうか? 売数フィールドの抽出条件を DMax("売数","日足")とし、 日付フィールドの抽出条件(11月の最大売数を出したい)を Between #2005/11/01# And #2005/11/30# としても上手く行きません。 最終的に、 日付   売数 … 2005/01 20 2005/02 10 2005/03 15 2005/04 25 … といったように、月ごとに売数を抽出したい場合どのような抽出条件を使えばよろしいでしょうか? どうぞご教授願います。

  • Access 抽出した重複データを一つにしたい。

    Access2002 VBA 教えていただけませんか! テーブルのフィールドに[日付]と[品名]があるとします。 ある期間の日付で抽出をした時5件のレコードが抽出されました。 (例)  日付    品名 H14-04-01 プリンター H14-04-02 ハードディスク H14-04-03 モニター  H14-04-04 プリンター H14-04-05 マウス このときの品名を表示したいのですが、重複品名は除いて プリンター ハードディスク モニター マウス とするにはどうすればいいでしょう?

  • access2007 クエリで抽出

    初心者です。クエリで抽出したのですが、一部のデータが抜け落ちます。抽出条件のフィールドはテキスト型で、元のテーブルでコピペで統一しましたが、同じデータが抜け落ちます。削除してやり直しても同様でした。重複クエリを作成するとこのフィールドが重複して出てきます。どこを直したらいいのか見当がつきません。よろしくお願いします。

専門家に質問してみよう