AccessSQL小技集

2017.5.4

AccessのSQLでSELECTの結果に連番をつけてn件目からm件目を取得する方法

アクセスの場合は機能が用意されていないので、自力で行う必要がある。

方法としては同じテーブルを結合して、グループバイカウント。

成績表などでランキングをつける場合は、where句のところを修正する。

PARAMETERS 開始 Long, 終了 Long;
SELECT
    Count(テーブル_1.ユニークキー) AS ユニークキーのカウント
    , テーブル.ユニークキー
FROM
    テーブル
    , テーブル AS テーブル_1
WHERE
    (((テーブル_1.ユニークキー) >= テーブル!ユニークキー))
GROUP BY
    テーブル.ユニークキー
HAVING
    (((Count(テーブル_1.ユニークキー)) Between 開始 And 終了))
ORDER BY
    テーブル.ユニークキー;

Accessのオートナンバーカラムをクリアする方法

データベースの最適化をすればクリアできるようですが、任意のタイミングでオートナンバーカラムの値をクリアしたい場合、下記のクエリを実行すればクリアできます。

ALTER TABLE アクセステーブル名 ALTER COLUMN オートナンバー列 COUNTER (1,1);