Accessではこの機能はネイティブでは提供されていませんが、以下のようにクエリで実現することができます。
CREATE TABLE TableThatIncrements
(
Id AUTOINCREMENT(1001,1)
)
これにより、"Id “という名前の単一の列を持つ "TableThatIncrements "という単一のテーブルが作成されます。これで、テーブルエディタを使ってプロパティや他の列を追加することができます。
AUTOINCREMENT(x,y)
は必要に応じて変更してください。つまり、x
は 100, 105, 110, 115 などとなります。
既存のテーブルを変更したい場合は、以下のクエリを使用します。特定のテーブルのタブが閉じられていることを確認してください。
ALTER TABLE TableThatIncrements
ALTER COLUMN Id AUTOINCREMENT(1001,1)
以下のようにしてAccessでクエリを実行することができます。
表示されるウィンドウを閉じます。テーブルの選択を求めるウィンドウが表示されますが、これは必要ありません。
デザイン」タブに移動し、テキスト入力画面が表示されるまで矢印のボタンをクリックします。デフォルトでは「y
」となっています)。
デフォルトのテキストを削除して、上記のクエリを貼り付けます。
実行」をクリックします。
5.
Accessが提供しているものとは異なる自動番号には興味がないと仮定しているので、Accessを騙す必要があります。
テーブルをカスタムの自動番号で開始する必要があります。しかし、一度起動してしまえば、そこから追加を続けることができます。
“access change autonumber start "でググれば、これを行うためのいくつかのオプションを見つけることができます。ほとんどの場合、フィールドを変更するためのアペンドクエリの作成に頼っています。
別の番号で開始したいカウンタタイプのフィールドを含む最初のテーブルを作成します。レコードを入力しないでください。最初のテーブルのカウンタフィールドと同じ名前の単一の長い整数型の数値型フィールドを持つ2つ目のテーブルを作成します。2つ目のテーブルには、1つ目のテーブルでカウンタを開始したい番号よりも1つ小さい番号を入力してレコードを作成します。2 番目のテーブルの 1 つのレコードを 1 番目のテーブルに追加するための append クエリを作成し、実行する 2 番目のテーブルを削除し、1 番目のテーブルに追加したレコードを削除して、データの入力を開始します。
MVPS.org [ http://access.mvps.org/access/tables/tbl0005.htm ]より (http://access.mvps.org/access/tables/tbl0005.htm)
もし、追加クエリを構築する気がないのであれば、テーブルを設定して、エクセルからダミーのデータを1000行コピーして貼り付け、1001番になるまでレコードを削除して、そこから先に進むという方法もあります。
UPDATE: 理由の説明を追加
autonumberが1から始まるようにしか設定されていない理由は、autonumberフィールドが内部参照フィールドとして使用されることを意図しているためであり、データベースの良い慣習では、一般的に公に見える形で使用されるべきではありません。これは、与えられたテーブルに一意の項目がまだ存在しない場合に、そのテーブルが検索されインデックス化される一意の項目を作成するために使用されます。
このウェブサイトには、オートナンバーを任意の番号で開始する非常にシンプルな方法があります http://www.fmsinc.com/microsoftaccess/AutoNumber%20Field/Creating.asp
オートナンバーフィールドを変更する式でクエリを作成します
“まず、このクエリを実行してください。
INSERT INTO tblName ( ID ) SELECT 999 AS Expr1
ここで tblName はテーブル名、ID は AutoNumber フィールドの名前です。
次に、2 番目のクエリを実行して、挿入した行を削除します。
DELETE FROM tblName WHERE ID=999;
(または、テーブルを開いて、挿入した行を手動で削除することもできます)
これで、テーブルに追加された次のレコードには値1000が割り当てられます。
この方法は、新しいテーブル、またはAutoNumberがまだSeed値に達していないテーブルで動作します。(もちろん、既存の行のIDフィールドは変更されませんが、それ以降の行は1000から始まります) ”
これはかなり古いスレッドですが、今でもGoogleの検索結果のトップ3にポップアップします。
ユーザがautonumberフィールドの値を変更したいと思う理由の一つに、データベース編集によるエラーを修正することがあります。管理者がデータベースのフロントエンドに大きな変更を加えたい場合、その管理者は関連するすべてのテーブルのコピーを作成し、フロントエンドの開発用コピーをこれらのバックエンドにリダイレクトすることがあります。変更内容が十分であれば、フロントエンドの本番用コピーを自分のコピーに置き換え、テスト後にリンクされているテーブルをすべてリダイレクトすることができます。
問題ないですよね?まあ、自動番号のインクリメントはフロントエンドのままです。つまり、管理者がコピーの作業をしている間に本番側が50、500、5000行の自動番号をインクリメントした場合、新しい本番側のコピーは同じ番号を再試行して、"クリア “になるまで、これらのフィールドに1つずつ項目を入力することができなくなります。50、500、または5000行のエクセルデータをコピーして、それを貼り付けてみてください。それは各行でエラーになります(それがポップアップしたときにそれ以上のメッセージを抑制することを確認してください)が、自動番号はその量だけ増加し、あなたは再び行くことができます。このようにしてオートナンバを使用している場合は、開発用コピーで上書きする前に、本番用DBの値をインクリメントしておくことをお勧めします。
これは、オートナンバ ーを1よりも高い値から始める方法でもあります。 昔、Geocitiesのホームページのページ訪問数カウンタを17,479に設定したように、実際には16回しか訪問されていないのに、ページ訪問数カウンタを17,479に設定したようなものです。あなたによって。