質問: アクセス2003でidフィールドのデータをオート入力(規定値)したいのですが こんにちは。 教えてください。 オートナンバー型を利用せずに単票フォームからnoフィールドのデータを入力したいのです。 ↓こんな考え方で レコード新規作成時 : no 規定値 総レコード件数+1 です。 オートナンバー型を利用するとたとえばno10を後での削除をすると その10は欠番になり利用不可ですよね。 そこらへんは柔軟に必要があればいつでも欠番になっている10という値をnoフィールドに手入力で再利用したいのです。 いろいろ調べてみたのですがいい感じな方法が見つけられませんでした。 お願いします!!
回答: 直接の回答ではありませんが、 > いろいろ調べてみたのですがいい感じな方法が見つけられませんでした。 これは、ある意味当たり前のことで データベースではid等の「レコードを一意に認識するため」の番号を使い回すのは、「非常に危険な」ことです。 データベースがグチャグチャになるおそれがあります。 従ってこのようなことをすることがないため、情報が少ないのだと思われます。 たとえば、商品マスタなどで「a商品」のidである「商品番号」を削除して、別の「b商品」の「商品番号」として使い回すと、 既に入力されている「a商品」の売上データも「b商品」の売上として紐付けされてしまいます。 あえてやるなら、欠番のテーブルを作るなどの方法はありますが、 テーブルを総なめにするようなコードになるので、レコードが多くなってくると時間がかかり、実用的とは言えません。 また、もともとaccessにはレコード番号という概念がありません。 行番号を表示したいだけなら、フォームやレポートで一時的に作り出します。 老婆心ながら....