Access2003クエリでトップ値を使って指定件数より多く表示される

このQ&Aのポイント
  • Access2003でフィールドを昇順に並べ替え、上位10件を表示するクエリを作成しています。11件目以降の対象フィールドにも10件目と同じ値があるのですが、上位10件の指定に対して11件目以降も表示されます。別のファイルでも同じようなクエリを作成していますが、そちらは指定した10件のみが表示されます。どこかに設定があるのでしょうか?
  • 最寄り駅からの所要時間(徒歩の分数)を格納したフィールドがあります。単純に所要時間を昇順に並べ替えると、分数ごとのレコード件数は1分のレコードが2件、2分のレコードが5件、3分のレコードが6件です。クエリで所要時間の並べ替えを昇順にし、トップ値の値を10にして実行すると、1分から3分の13件が表示されてしまいます。他のフィールドには条件は設定されていません。
  • なぜ指定件数を超えるレコードが表示されるのでしょうか?指定件数のみの表示にするにはどうすればよいのでしょうか?
回答を見る
  • ベストアンサー

Access2003 クエリのトップ値を使って指定件数より多く表示される

Access2003で、フィールドを昇順に並べ替え、上位10件を表示するクエリを作成しています。 11件目以降の対象フィールドにも10件目と同じ値があるのですが、上位10件の指定に対して11件目以降も表示されます。 別のファイルでも同じようなクエリを作成していますが、そちらは指定した10件のみが表示されます。 どこかに設定があるのでしょうか? ご存知の方がいらっしゃいましたらご教授ください。 <状況> 最寄り駅からの所要時間(徒歩の分数)を格納したフィールドがあります。 単純に所要時間を昇順に並べ替えると、分数毎のレコード件数は下記の通りになります。 ・1分のレコード → 2件 ・2分のレコード → 5件 ・3分のレコード → 6件 クエリで「所要時間」の《並べ替え》を《昇順》にし、ツールバーにある「トップ値」の値を10にして実行すると、上記の1分~3分の13件が表示されてしまいます。 ※他のフィールドについては、条件等なにも設定していません。 なぜ指定件数を超えるレコードが表示されるのでしょうか? 指定件数のみの表示にするにはどうすればよいのでしょうか? 以上、よろしくお願いいたします。

  • full2
  • お礼率100% (12/12)

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

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

おそらく、10”件”ではなく、10”位”までを返すからでしょう。 たとえば、 ・1分のレコード → 15件 ・2分のレコード →  1件 であったとします。 この場合、1分のレコード15件が全部「1位」で、2分のレコードは「16位」なので1位の1分のレコード15件全部が返るのでしょう。 1位のレコード15件は、全部1位ですからこの中に順番はありません。もし10件ぴったり返すとなると、どう選ぶかはDBが勝ってに決めることになってしまいます。 これはユーザーにとって不都合であり処理上問題が多いので、10位まで(正確には、10位を超えないもの)を返すようになっているのでしょう。 どうしても10件にしたい場合は、並べ替えの条件を増やしたりして順位に重複がないようなソートの仕方を考えて指定することになるでしょう。

full2
質問者

お礼

cistronezkさん お返事が遅くなり、大変申し訳ありません。 わかりやすいご回答、ありがとうございました。 トップ10とした時に、10レコードちょうど表示されるものがあり、色々と悩んでいましたが、cistronezkさんがおっしゃるように、並べ替えをするフィールドを増やすことで一意になるようにし、10レコードちょうどを表示することができました。 とてもスッキリしました。 ありがとうございました!!

関連するQ&A

  • Accessクエリのデータ表示件数について

    テーブルにあるデータを、クエリにより抽出したのですが、テーブルにあるデータ/14328件の内、8414件しか抽出されません(日付フィールドの2000/10/1以降のデータのみ表示される)。クエリに日付等の抽出条件は設定していません。何かデータ表示件数制限等の設定があるのでしょうか?いろいろ試してみましたがダメでした。アドバイス宜しくお願いします。

  • Access更新クエリの「レコード更新」をフォームから指定する方法

    お世話になっています。 早速ですが質問があります。 テーブルにあるフィールドの値を全て変更する更新クエリを作成したのですが、出来ればフォームから指定したいのです。 どうやったら「レコードの更新」の値をフィールドから指定出来るのでしょうか? 以上、よろしくお願いします

  • Accessの抽出に関して

    レポートの中にサブレポートを作成し印刷をしています。その際、レポート上でNOを指定していますので、サブレポートにはNOと一致するデータのみが印刷されます。 サブレポートのレコードソースはQ_印刷(クエリでNOの昇順にしたもの)になります。 そこで、1枚に収まる件数というのは限られてきますので、例えば10件データがあった場合、クエリで昇順に並べ替えた上位5件のみをサブレポートで印刷するといった事は可能でしょうか??VBA等を使用した方法でも何でも結構ですので、効率の良い方法があれば教えて頂きたいと思います。よろしくお願い致します。M(__)M

  • ACCESSのクエリの中でのクエリ指定

    ACCESSのクエリで複数テーブルを結合させ明細表示させました。 その明細作成クエリーを更にそのクエリをテーブルと指定して 合計のクエリを作成して結果を確認すると合計が違っていました。 確認の為、集計を取りその明細クエリーをクエリー上でテーブル 指定してみたところ、元の明細クエリーのみの場合とレコード数 がかわっって表示されまました。 クエリーのテーブルにクエリを指定するのはNGなのでしょうか。 何方かなぜそうなるのか、また、正しい方法があれば教えてください。 宜しくお願いします。

  • アクセスで件数指定

    現在つくっているデータベースのフィールドとして、氏名、家賃、支払月、とあります。 これを帳票フォーム方式にしています。 帳票フォームにすると、1件入れ終わると、下に1件ずつ追加されていきますよね? その分見えるレコードも増えていきますが、これを前もって何件、と決めて出すことはできないでしょうか? 例えば、Noというフィールドを作成して、そこに1-15と自動で入れば、帳票フォームも15件のレコードができあがるかとおもうのですが・・・。 このようなことはできるのでしょうか? よろしくお願いします。

  • ACCESS【更新クエリの中断ができない】

    ACCESS初心者です。質問がわかりにくかったらすみません。 ACCESSの更新クエリで、レコードのカンマをスペースに置き換える式を作りました。 クエリを実行すると、 ”更新クエリを実行すると、テーブルのデータが更新されます” と、メッセージが表示され”はい”で次に進むと ”*件のレコードが更新されます。”と正確な件数が表示されます。 ただ、ここでやはり中断したいと思い、”いいえ”を選択しても、 レコードは更新されてしまいます。何故でしょうか?教えてください。 ______________________ フィールド:     型名 テーブル:      データ統合 レコードの更新:  Replace([型名],","," ") 抽出条件:     Like"*,*"

  • 更新クエリー

    ACCESS2000です。 Aというテーブル(レコード件数500件くらい)のValue1というフィールドをBというテーブル(レコード件数1件)のValue1というフィールドの値で全件更新したいのですが、どのようなSQLを書けばよいのでしょうか。 基本的なことだと思いますがよろしくお願いいたします。

  • access2000で検索、結果の表示件数制限

    access2000で受注管理をおこなっております。 フォームから条件を指定し,クエリでテーブルを検索し結果を表示している のですが、データが多すぎて困っています。 そこでフォーム上から検索前に表示させる件数を指定する機能をつけたいと 考えています。 100件と指定したとすると、まず100件表示して次の100件を表示する、などの操作が できればいいのですがやり方がわかりません。 せめて、表示件数に達すればあとの検索はしないといった表示件数を制限する 方法だけでも教えてください。よろしくお願いします。

  • アクセスのクエリで

    あるテーブルはエクセルからインポートしていますが、全てのフィールドが空白というレコードが多数存在します。 これをクエリで(他に方法があればどの様な方法でもよいです)全てのフィールドが空白のレコードは表示しない様にする事はできますか? これを更新クエリにして、新しく全て空白のフィールドのレコードが無いテーブルを新たに作ろうと考えています。 教えて下さい。よろしくお願いします。

  • Accessクエリ

    お世話になります。 Access初学者です。 グループごとに日付が最大のレコードを、それぞれ1件抽出するクエリを作成したいと思っています。 IDを表示させなければできるのですが、IDを表示させると全レコードが抽出されます。どのようにすればいいのでしょうか? よろしくお願いします。

専門家に質問してみよう