2008-04-05

Tips146 - 空き番号の最小値を取得する MIN・サブクエリ

連番の場合、データが削除されると空き番号が発生します。
新規にデータを追加した時、その番号を使いたい場合があります。
その番号を取得する方法です。
オートナンバー型の場合、取得はできますが変更はできません。
空き番号がない場合、MAX値+1が返ります。

構文例:
SQL = "SELECT MIN(フィールド名+1) FROM テーブル名 WHERE フィールド名+1 NOT IN (SELECT フィールド名 FROM テーブル名)"
Set rs = CurrentDb.OpenRecordset(SQL)

使用例:
SQL = "SELECT MIN(製品コード+1) FROM 製品管理 WHERE 製品コード+1 NOT IN (SELECT 製品コード FROM 製品管理)"
Set rs = CurrentDb.OpenRecordset(SQL)