• ベストアンサー
  • 暇なときにでも

ACCESSのオートナンバーについて

ACCESSのオートナンバーを使用したいのですが、 4バイト(Long)で表現できる数値を越えた時どうなるのかが心配です。 自動的に0に戻るのでしょうか?それともエラーが発生してしまうのでしょうか?やはり、意図的にオートナンバーを初期化するべきなのでしょうか? とても大きな数値になるので、簡単にテストしてみる訳にも行かないので、 どなたか知っていたら教えてください。

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数595
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.1
  • mnabe
  • ベストアンサー率33% (427/1283)

 早いパソコンを使用すれば、そんなに時間がかからずに確認出来ました。  結論:エラーになります。  すき間が出来るようなら初期化するのがベターなのでしょうが、そうでないデータなら、主キーを自分で設定してオートナンバーを使用しない方が良いでしょう。  私見ですが、オートナンバーを使用せず時刻を使用して任意のキーを生成する様にした方が、汎用性があって素敵だと思います。よ。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

わざわざテストしてくださって、ありがとうございました。 そうですかぁ。やっぱりエラーになってしまいますか。 そうですよね。時分秒までを採用すれば必ずユニークになりますものね。。。 (StandAloneでオペレータさんが手入力する為、1秒間にダブってしまう恐れは全くないので。) ただ、この番号をオペレータさんが通番として確認したいらしいので やはりシーケンシャル番号にこだわる必要があるのです。。。。 そうなると、オートナンバーをやめて自分でMAX番号を取得して+1するとか、オートナンバーのままで一定期間に初期化するとかということに なってしまいそうですね。。。。 とにかく、この問題については皆「そんな大きな数にならないから気にしないよ」とお気楽な意見で、私一人で懸念していたのですが、やっぱり ちゃんと考え直すことにします。 納品後、何ヶ月もしてからオートナンバーがオーバーフローして クレームが来ても嫌なので、これから頑張ります。 問題が大きくなる前に、専門家さんの意見が聞けてよかったです。 ありがとうございました。

関連するQ&A

  • Accessのオートナンバーについて

    いつもお世話になります。 Access2002を勉強中の初心者です。 オートナンバーのフィールドを持つテーブルを使用していますが、オートナンバーの最大値はいくつなんでしょうか? また、レコードがその最大値を超えた場合はどうなるのでしょうか? (1に戻るのでしょうか? それともエラーになるのでしょうか?) よろしくお願いします。

  • Accessでオートナンバーの値をリセット

    Accessでオートナンバーを指定したのですが、 テストでデータを追加した後、もう一度初期値を 1にもどしたいのですが、どうしたらいいでしょうか? どなたかおわかりでしょうか? よろしくおねがいします。

  • Accessのオートナンバーについて

    Access2002を使用しています テ-ブルのデータ型をオートナンバーに指定して 使用していました。 自動で今までできた数字をすべて消して1からやり直したいのですが どうしたらいいでようか? ちなみにテーブルのデータを消して作り直しても続きからになってしまいました。

  • Access2003オートナンバーを任意の値に

    Access2003で、オートナンバーでID番号の管理(主キー)をしています。 このID番号の他に、10桁の数値でプロジェクト管理したいと思っております。 オートナンバーを基に、別IDを作成する方法を教えてください。 なお、この10桁の数値は、先頭の4桁がプロジェクト番号として使用し、 後ろの6桁はオートナンバーのIDと同じ数値となります。 ======================================== (例)  [ID]     [ID2]   1    1001000001   2    1001000002   3    1001000003   〃       〃 ======================================== 下記のURLを参考にしてやってみたのですが、追加クエリを実行しても、 なぜか、オートナンバーフィールドへ追加することができませんでした。 ※追加クエリ実行エラーで、「型変換エラーのためnullに設定しました」となります。 http://www.accessclub.jp/samplefile/samplefile_145.htm お手数お掛けしますが、宜しくお願い致します。

  • アクセス2000 オートナンバーについて

    いつもお世話になります。 アクセス2000を使用しているのですが、Dsum関数を使用したいので、時系列を付けるためにオートナンバーを付けています。必要データが日々変わるためにこのテーブルは全データを削除し追加クエリーを使用して計算もとのテーブルをその都度必要なデータのみにしています。 現在テスト中で特に問題はないのですが、本稼動した場合、オートナンバーが一日に10000程になってしまいます。計算に使うレコード数は200程度なのですが、処理作業を1日に50回程度行いますので。 2年程度メンテナンスはする予定をしていないので、このままではオートナンバーが7000000程度になってしまいます。オートナンバーの数字が多くなることによるエラー等は発生しないのでしょうか。またオートナンバー以外に連番をふる方法はあるのでしょうか。 宜しくお願い致します。

  • ACCESSのようなオートナンバー

    EXCELの質問なんですが、ACCESSのようなオートナンバーは可能なんでしょうか?    A     B 1|管理番号   船番 2| 1    第1船 3| 2    第2船 4| 3    第3船 5| 4    第1船 ・ ・ ・ 例えばBの縦の列に船番という列があって、この番号は年度管理 で、4/1から第1船という風にカウントされていき、年度が終わるとリセットされ翌年度から、また第1船となります。 で、質問はAの縦の列に、年度は関係なくカウントされていくオートナンバーみたいな関数ってあるのでしょうか? わかりにくい質問ですが、頭の良い方お願いします。 Bの列に番号を入力するとAの列に自動的に入力されるというのが希望です。

  • Accessのオートナンバーに近い事をやりたい

    Accessのフィールドの型の中にオートナンバー型という、自動で連番になる型があります。 SQL Serverにはそういった型がないため、自分でナンバーを付与していくスクリプトを組まなくてはいけないと思います。 一番簡単な方法は、連番になっているフィールドを降順で並び替え、一番最初のレコードに1を足してあげれば連番になるのですが、Webで注文を受けるようなシステムの場合、タイミングによっては同じ番号を割り当てられてしまう可能性があります。 同じ番号がわりあてられずに連番で番号を付与していくには、どういうやり方があるのでしょうか?

  • Accessのオートナンバー取得

    皆さんよろしくお願いします。 Access97を使用して、例)営業の訪問日報を作成しようと思います。 親フォームには、連番(オートナンバー型)と活動日(規定値にDate()を設定)の 二個のフィールド。 子フォームは、親の連番とリンクした番号・訪問先名・訪問時間・ 活動内容とします。 フォームを開くときイベントで DoCmd.GoToRecord , , acNewRecを設定。 親フォームは、連番と活動日が自動で入るので更新する必要がないので 子フォームにフォーカスを移すが、親でイベントが発生しないため 連番が更新されません。 質問)親フォームでフィールドを更新せず、子フォームを入力してとき オートナンバーを取得する方法を教えてください。 上手に質問がかけませんでしたが、よろしくお願いします。

  • Access2003 オートナンバーの現在値取得方法

    Access2003 オートナンバーの現在値取得方法 Access2003 VBAでDAO.DBEngineオブジェクトを使用して テーブル定義の取得を行っています。 オートナンバー型のシーケンスの現在値を取得する方法はないでしょうか? MAX関数で最大値を取得する方法は不可です。

  • Access2003 データ型 オートナンバーについて エクセルからテ

    Access2003 データ型 オートナンバーについて エクセルからテーブルをインポートする方法 主キーである、IDと名をつけたフィールドのデータ型は"オートナンバー"でレコード新規入力際、自動で番号がふられていくようにしています。 このテーブルにエクセルのレコードをインポートして追加したいのですが、インポートできません。 ※オートナンバーフィールドが原因と思われます。 どうすれば、エクセルからこのテーブルにレコードをインポートし、追加されたレコードにオートナンバーで番号を割り振る事が出来ますででしょうか? 最も、シンプルな方法をお教え願います。