Windows7 の Access2003 で、「オートナンバー型」フィールドにデータを追加した時の挙動を‥‥ 「今更テスト?」という感じもするが、Access大好き人間だった数十年前はブログが無かった。その頃のノートは行方不明。そこでもう一度、確認?した。
- D_作業日報:テーブルを作成。
- オートNo:フィールドがオートナンバー型
- インデックスは「重複あり」とした。
- テキスト:フィールドに“AAA”,“BBB”,“CCC” を入力。
→ 1アップの番号が付いた。 - 4番目のデータとしてオートNo:フィールドに数字を入力しようとしたら、エラーメッセージが出た。
- 同じ構造のD_テストデータ:テーブルから、追加クエリーでテキスト:フィールドのみ追加してみた。
INSERT INTO D_作業日報 (テキスト) SELECT D_テストデータ.テキスト FROM D_テストデータ
- 4行追加され、連番が付いた。
- 4行追加され、連番が付いた。
- 追加クエリーを修正し、オートNo:フィールドも追加してみた。
INSERT INTO D_作業日報 (オートNo, テキスト) SELECT D_テストデータ.オートNo, D_テストデータ.テキスト FROM D_テストデータ
- 並び変わったので判り難いが、
「オートNo」1〜4の
「テキスト」“OOO”,“PPP”,“QQQ”,“RRR”が追加されている。
- 並び変わったので判り難いが、
- D_テストデータ:テーブルの「オートNo」を 301〜304 に変更して、もう一度追加してみた。
- そのまま追加された。
- そのまま追加された。
- 手動で、“SSS” を追加すると‥‥ オートNo は 305(次の値)になった。
■ 結論
データ型をオートナンバー型にすると
- オートナンバー型のフィールドを入力することは出来ない。
- クエリーで追加すると、そのまま追加される。
- オートナンバー型に数値があると、その値で追加される。(Nullだとエラーになる)
- オートナンバー型のフィールドを外すと、連番が取られる。