• 締切済み

MS Accessで行指定検索の方法

MS Accessでxx行目~xx行目まで取得するという検索を行いたいのですが、SQLはどのように書いたら良いのでしょうか。 row_number()を使えばできそうなのですが、Accessでは使えないみたいなので困っています。 どなたかご存知の方いらっしゃいましたら、お教えください。

みんなの回答

  • jamshid6
  • ベストアンサー率88% (591/669)
回答No.3

Accessで管理しているのはテーブルですので、先の方々のコメントのようにまずキーを設けることをお勧めします。 (何件かずつページ形式でリスト表示するとか、そういう目的なのでしょうかね) 仮にNo.2さんのようにオートナンバー型でキーを設けた場合、中抜けしても目的は果たせます。 SELECT * FROM TABLEA a WHERE (SELECT COUNT(*) FROM TABLEA WHERE ID<=a.ID) BETWEEN 開始番号 AND 終了番号; ここまでやる意味があるかどうかは質問からは読み取れませんが

すると、全ての回答が全文表示されます。
  • neko_noko
  • ベストアンサー率45% (146/319)
回答No.2

No1さんの言うように、AccessのSQLで行指定はできなかったはず。 ただ、制限付きでもよければ、オートナンバーを使うという手があります。 あらかじめ検索するテーブルにオートナンバー型のフィールドを定義しておきます。 あとはデータが追加されれば順に番号が振られるので、それを行番号として検索に使う。 ただし、オートナンバーは番号の振り直しができないので、 行を削除しないというのが前提になります。 (削除するとそこから行番号がズレるため) 行の削除がある場合、オートナンバーを使わず数値型のフィールドに手動で番号を振るという手もありますが、 これはかなりメンドウなので、あまりお勧めできません。 素直にVBAを使う方がいいと思えます。

すると、全ての回答が全文表示されます。
  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.1

> xx行目~xx行目まで取得するという検索 と言うものが、データベースの場合、ありません レコード番号と言うものがあっても、コントロール上の話で、SQL上は無いのが現実です 実施するにはTOPを使用して、レコード数を限定、抽出条件をより、明確にすると言うことに、なります

すると、全ての回答が全文表示されます。

関連するQ&A