2011-06-22 9 views
1

MS Access 2007自動番号 - 開始点を指定します

私は5,000でオートナンバーを開始し、各エントリごとに9ずつ増やそうとしています。これを行う方法はありますか?これは、オートナンバー型である必要はありません、これを行うには別の方法がある場合は、それも素晴らしいだろう。助けてください。

+6

?自動番号列は、固有の索引を提供するためにのみ使用する必要があります。それは意味的な意味を持たなくてはならない。 – mwolfe02

答えて

5

ADOでDDLを使用すると、オートナンバーシードとインクリメントを設定できます。 (ただし、... mwolfe02さんのコメント@エコーなぜ?)

Dim strSql as String 
strSql = "ALTER TABLE YourTable ALTER COLUMN YourAutoNumberColumn COUNTER(5000, 9)" 
CurrentProject.Connection.Execute strSql 

はまた、この前のスタックオーバーフローの質問は、あなたにとって有用であるかどうかを確認:How to reset autonumber seed - MS Access/VB6

+0

@ HansUp、なぜ私がこれをする必要がある理由は、私の上司がそれを要求しているからです。それ以外は、私は本当に知らない。オートナンバー型の列ではなく、単なる数値型の列にこれを適用するほうが少し論理的だと思いますか? – jerry

+0

Hmmm。自動番号ではなく通常の番号であれば、ボスが要求するシーケンスを生成(および維持)する計画を立てる必要があります。レコードが削除された場合はシーケンスを "バックフィル"する必要がありますか、レコード*が決して削除されないという要件もありますか? – HansUp

+0

いいえ、バックフィルの要件がないため、実装するのが少し楽になると思います。私は実際にVisual Basicに触れたことはありませんが、上記のコードは実行するのが難しくないと思います。たぶん私はただ楽観的だと思うかもしれません:) – jerry

3

私は1つは、このような獣を必要とする理由を考えることはできません。

しかし、あなたは計算列1で1と増加から始まり、ちょうど示し(および使用)「ノーマル」オートナンバー型を使用することができます。あなたがこれを行うにはしたくないのはなぜ

FakeAutoNumber = (AutoNumber * 9) + 4991 
+0

+1非常に賢い! – mwolfe02

関連する問題