• 締切済み

アクセス2010 主キーのIDの数字が飛ぶ

アクセス2010です。「入金テーブル」を作成していて、普通にデータを入力していたら、主キーの入金IDナンバーの数が異常に大きくなったことに気が付きました。調べてみると1から4204までは正常だったのですが、急に7326になり、その次の数字は10449になっていて、それからは順繰りに大きくなっていました。 どうしてそうなってしまったのか、又直すには、どうしたらいいのでしょうか?

みんなの回答

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

>どうしてそうなってしまったのか、 経験はありませんが、 可能性の一つとして、複数ユーザーが同じファイルを共有していて・・。 誰かがレコードの削除を行った。 >又直すには、どうしたらいいのでしょうか? あなたが作成したファイルではないのなら、作成者に相談してください。 決して自分で何とかしよう・・とは考えないこと。 あなたが作成者であれば ■必ずファイルのバックアップを取ってから■ Access でオートナンバー型フィールドの値をリセットする方法 http://support.microsoft.com/kb/812718/ja の2007の説明を読んでみてください。 自信が無ければ止めることです。 元々オートナンバーは一意の番号を付与するためのものです。 結果的に(副産物として)通し番号になっているだけですので 飛び番号を気にせず使い続けるのも選択肢の一つかと思います。

poco_a_poco
質問者

お礼

ありがとうございました。 オートナンバー型フィールドの値をリセットする方法を見ましたが、データが壊れてしまいそうなのでアドバイスにあったように「飛び番号を気にせず使い続けてみる」を選択しようと思いました。 でもなぜ飛んだのでしょう? それが起こるちょっと前に、「貼り付けますか?」と聞かれて「いいえ」を押したのが思い出されています。 多分それが原因のようにも思いますが、どうしてそのようになったのか分かりませんし、どう対処していいかはわかりません。 どちらにしても、ちょっと不安は残るもののデータは大丈夫のようですので気を付けながら使っていこうと思っています。 ありがとうございました。

関連するQ&A

  • 主キーはオートナンバー型のIDを使った方が良いのか

    主キーはオートナンバー型のIDを使った方が良いのか、 独自の主キーを作った方がいいのか? 今は テーブル1 ------------------- IDフィールド(オートナンバー型) 主キー 1 2 3 ------------------- 伝票番号フィールド A001 A001 A002 ------------------- 部署フィールド 営業部 システム部 営業部 ------------------- 金額フィールド 100 200 300 ------------------- という状態ですが、 新たに主キーフィールドを作り 更新クエリで UPDATE テーブル1 SET テーブル1.主キー = [テーブル1]![伝票番号] & [テーブル1]![部署] & [テーブル1]![金額]; をして、主キーを独自に作った方がいいのか。 アクセスを作るにおいて、どちらの方が良いのでしょうか? テーブルのレコードは削除したりする事もあるので、オートナンバー型だと空きができてしまいます。 レコードに空きができないデータベースなら、オートナンバー型、 空きができるデータベースなら、独自に作った主キーにしたほうがいいのでしょうか?

  • Accessの主キーについて

    お願いいたします。 Accessの主キー設定について教えてください。 主キーの役割は、テーブルの中のレコードを区別 するための機能だと思いますが、 フィールドのデータ型をオートナンバー型にして おけば主キーの設定は必要ないのではないでしょう か? 主キーを設定する理由としては、参照整合性のため に行うという考え方で良いでしょうか? また、複数の主キーを設定するという場合のテーブ ル構成はどのような場合のシステムなのでしょうか? どうぞ教えてください。

  • Excel→Accessテーブル インポート後の主キーについて

    Excelで作成したリストを、Accessテーブルへ追加インポートしたとき、 インポートはできますが、主キーの数値が大きく桁違いな数字が現れてしまいます。 例えば、Accessテーブルのレコード数が10957件あります。 主キーの一番最後の数字は10980番です。(途中いくつか削除しました) Excelのレコード数は100件あり、これを追加インポートしますが、     10979     10980  85200513  85200514  85200515  85200516     ・     ・     ・ というように、10980以下の主キーの数値が、まったく桁違いになってしまいます。 どうしてこのようなことになってしまうのでしょうか? ソフトはExcel2002、Access2002です。

  • Access 「主キーにはnull値を~」のエラー

    こんにちは。閲覧ありがとうございます。 私はAccess初心者です。 勉強と実用をかねて個人用の「家計簿」をWindows7のAccess2010で作成しております。フォームを使用し、費目を記録して、ゆくゆくは集計なども行いたいと考えています。 いくつかの失敗に当たりながらどうにか形はできたのですが 『インデックスまたは主キーには、null値を使用できません。』 というエラーが出てきてしまい、これがどうしても解決できないでいます。 初心者があやふやな言葉を並べるより、現物を見ていただいた方が早いと思うので、以下に私が作成中の「家計簿rev2.accdb」をアップロードしておきました。 http://www1.axfc.net/uploader/so/2884464.zip (稚拙で見難いことこの上ないかもしれませんが、初心者ゆえご容赦ください・・・) 仕様としましては、フォームの「Fmain家計簿DB」に、「レシートNo、購入日、種類ID、費目、値段、個数、店舗ID、その他」と入力して、最後に次のレコードに移れば、レコードが一つ記録されるといった具合(のはず)です。 各テーブルの主キー以外には「空文字列の許可を"はい"」「値要求を"いいえ"」「インデックスを"いいえ"」に設定してあります。 オートナンバー型を使用しているのはテーブルの「Tmain家計簿DB」の主キーのみです。 また、「フィールドとキーが一致しているレコードをテーブルで探すことができません」というエラーが出るのを回避するため、こちらの質問を参考にさせてもらい外部結合の設定をしてあります。 (http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1368686318) そして、フォームに想定通りのデータを入力すると『インデックスまたは主キーには~』のエラーが出てしまいます。 せめてどこにnull値が入っててエラーが出てるのかを表示してくれたらいいのですが・・・ 以上になります。長文お読みいただきありがとうございました。 こんな簡単なdbの作成でお手上げ状態になるとは情けない限りです・・・ どなたか、『インデックスまたは主キーには、null値を使用できません。』の解決策をご教示いただけるとありがたいです。 よろしくお願いいたします。

  • Access 主キーについて

    Accessでテーブルを作りCSVファイルをテーブルへ読み込みました。その時は主キーを設定しませんでした。1000件あるデータは1000件分読み込めました。 次にテーブルのデータを消して、主キーを2フィールドに設定して、同じように1000件分のデータを読み込んだら950件分しか読み込めませんでした。これは50件は重複するデータがありますよということなのでしょうか?

  • 主キーが2つ

    私はアクセス97を仕事に活用したいと思い、勉強している初心者です。そこで質問なのですが、あるアクセスのホームページで参考にしているテーブルに主キーが2つあります。しかし、普通に主キーを設定しようとしても、1つしか設定できません。どうすれば1つのテーブルに2つ主キーを設定することができますか?よろしくお願いします。

  • Accessでのエラー

    Access修行中の身で、勉強をかねて書類BOXのデータベースを作成中です。 親テーブルのフィールド  ID(主キー、オートナンバー)、タイトル名、・・・・・、保存箱ID 子テーブルのフィールド  保存箱ID(主キー、オートナンバー)、保存箱名、・・・・ リレーション  親:保存箱ID-子:保存箱ID という構成です。 クエリで以下のような複合テーブルを作成し、 複合テーブルのフィールド  ID(主キー、オートナンバー)、タイトル名、・・・、保存箱名、・・・・ データを入力しようとすると、「レコードを追加できません。テーブルの結合キーがレコードセットにありません。」というエラーがでます。また、保存箱IDに入力のないレコードは、抽出されません。 どのようにしたいかというと、保存箱IDは入力しなくてもいいフィールド(関連させなくてもよいデータ)にしたく、複合テーブルで保存箱名を入れると、子テーブルに新たにレコードが追加されるようにしたいです。 できれば、SQLを使用せずに解決したいと甘えておりますが、無理でしょうか。

  • ACCESS2000の主キー重複について

    いつもお世話になっています。 早速ですが、お教えください テーブル名:AMaster フィールド名:B があります。 「B」は主キーになっていまして、ユーザーが任意に数字をいれることになります。 主キーになっていますので基本的には重複しないのですがユーザーの押し間違いなどによって重複してしまった場合 [Microsoft][ODBC Microsoft Access Driver] インデックス、主キー、またはリレーションシップで値が重複しているので、テーブルを変更できませんでした。重複する値のあるフィールドの値を変更するか、インデックスを削除してください。または重複する値を使用できるように再定義してください。 といったエラーメッセージが出ます。これは出ても構わないのですがツールバーの「戻る」でしか今後の操作ができなくなってしまうので(ユーザーはPC超初心者)何らかの形でエラーメッセージとともに任意のページへ戻れるようにしたいと考えています。 つきましては、「B」フィールドにあるデータとこれから入力される数値が重複していたら・・・という記述をお教えいただきたいと思います。 ASPにて作成していますのでそれに対応した記述ですとありがたいです。 過去のログに似たようなものがありましたがこちらを参照してもボクにはわかりませんでした。 http://okweb.jp/kotaeru.php3?q=357614 ボクも何分初心者なのでわからないことだらけですがよろしくお願いします。

  • 主キーが文字型での結合

    主キーが文字列型のカラムhoge_idがあります。 (hoge_idは英数字8文字とします) hoge_idで、他のテーブルに結合します。 また、Webからアクセスする必要があり、URLのパラメータで、 ?hoge_id=A1B2C3D4 の様に、主キーを渡す必要もあります。 文字列を主キーにする方法に慣れていないせいか、気持ち悪く感じます。 主キーを別途serial型のカラムidを作成し、 hoge_idには、ユニークキーで設定をし、 結合や、URLのパラメータは主キーのidを使う方法はあまり意味がないでしょうか。 アドバイスを頂けませんでしょうか。 よろしくお願い致します。

  • access2007 リレーションシップについて

    アクセス初心者です。 テーブルを複数作成しました。 これをリレーションシップをしたいと思うのですが、「主キー」の扱いに悩んでいます。 参考書などは主キーともう1つのテーブルの同じ項目名でかつ主キーでないものを結んでいますが、主キー同志は結んではいけないですか? メインで使うテーブルのIDを支点に、他の複数のテーブルのIDを放射状に結びつけて関連付けたいと考えています。 どのようにして作成していけばできますか? そのようなことができないのでしたら、どのようにしたらできますか?