2011-05-24 20:07:13 +0000 2011-05-24 20:07:13 +0000
9
9
Advertisement

AccessでAutoNumberの最初の値を設定するには?

Advertisement

この質問](https://superuser.com/questions/118287/how-do-i-reset-autonumber-field-in-access-2003)のようにAutoNumberの値をリセットする必要はありません。

1001

1001

1002 1002 1003

Access 2010でこれを行うにはどうすればいいですか?

Advertisement
Advertisement

回答 (7)

15
15
15
2011-05-24 20:33:07 +0000

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でクエリを実行することができます。

  1. 表示されるウィンドウを閉じます。テーブルの選択を求めるウィンドウが表示されますが、これは必要ありません。

  2. デザイン」タブに移動し、テキスト入力画面が表示されるまで矢印のボタンをクリックします。デフォルトでは「y」となっています)。

  3. デフォルトのテキストを削除して、上記のクエリを貼り付けます。

  4. 実行」をクリックします。

5.

2
2
2
2018-06-27 14:18:09 +0000

1- Create table1 2- Go to create create ——- > design query. 3- テーブルを閉じる 4- 上からSQlに移動します。5- このコードを貼り付けます。

ALTER TABLE [TABLE1] ALTER COLUMN [Id] COUNTER (8982,1)

1
Advertisement
1
1
2011-05-24 20:18:11 +0000
Advertisement

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フィールドが内部参照フィールドとして使用されることを意図しているためであり、データベースの良い慣習では、一般的に公に見える形で使用されるべきではありません。これは、与えられたテーブルに一意の項目がまだ存在しない場合に、そのテーブルが検索されインデックス化される一意の項目を作成するために使用されます。

1
1
1
2018-02-10 22:13:06 +0000

このウェブサイトには、オートナンバーを任意の番号で開始する非常にシンプルな方法があります 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から始まります) ”

0
Advertisement
0
0
2017-01-24 18:13:24 +0000
Advertisement

これはかなり古いスレッドですが、今でもGoogleの検索結果のトップ3にポップアップします。

ユーザがautonumberフィールドの値を変更したいと思う理由の一つに、データベース編集によるエラーを修正することがあります。管理者がデータベースのフロントエンドに大きな変更を加えたい場合、その管理者は関連するすべてのテーブルのコピーを作成し、フロントエンドの開発用コピーをこれらのバックエンドにリダイレクトすることがあります。変更内容が十分であれば、フロントエンドの本番用コピーを自分のコピーに置き換え、テスト後にリンクされているテーブルをすべてリダイレクトすることができます。

問題ないですよね?まあ、自動番号のインクリメントはフロントエンドのままです。つまり、管理者がコピーの作業をしている間に本番側が50、500、5000行の自動番号をインクリメントした場合、新しい本番側のコピーは同じ番号を再試行して、"クリア “になるまで、これらのフィールドに1つずつ項目を入力することができなくなります。50、500、または5000行のエクセルデータをコピーして、それを貼り付けてみてください。それは各行でエラーになります(それがポップアップしたときにそれ以上のメッセージを抑制することを確認してください)が、自動番号はその量だけ増加し、あなたは再び行くことができます。このようにしてオートナンバを使用している場合は、開発用コピーで上書きする前に、本番用DBの値をインクリメントしておくことをお勧めします。

これは、オートナンバ ーを1よりも高い値から始める方法でもあります。 昔、Geocitiesのホームページのページ訪問数カウンタを17,479に設定したように、実際には16回しか訪問されていないのに、ページ訪問数カウンタを17,479に設定したようなものです。あなたによって。

0
0
0
2017-11-12 15:50:55 +0000

私はそれが最初にゼロからあなたの選択に始まる自動インクリメントの初期ギャップを維持する非表示のテーブルを作成することによって、カスタムインクリメントの範囲を達成することができると信じています、例えば、そのテーブルは、0から1050を維持します。その後、テーブルからデータのこの部分を非表示にします。これが役立つことを願っています。Accessは、競合が発生するように、ゼロから最初に見るように設計されていたように思えます。

0
Advertisement
0
0
2017-02-24 02:19:19 +0000
Advertisement

似たようなことを実現する簡単な方法は、自動番号フィールド(例:"ID")と第2の計算フィールド(例:"ItemID")を持ち、計算フィールドに “1000+[ID]"という式を入力することです。この新しいフィールドは自動的にAutonumberフィールドを追跡しますが、1ではなく1001から始まります。

Advertisement