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);