• ベストアンサー

アクセスでの質問です

主キーをオートナンバーにして作成したテーブルの NO.1のデータを削除したら、NO.2からのスタートになりました。気持ち悪いのでこれをNO.1からのスタートにしたいのですが、どうしたらいいのでしょうか? データはすでに入力済みです。 テーブルを開いて「ツール」→「データベースユーティリティ」→「データの最適化/修復」とやってみると、開いていたテーブルが閉じ、再度開くよう表示が出ます。で、開いてみても変化はありません。 バージョンは2003です。よろしくお願いします。

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

  • ベストアンサー
  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.3

[ACC2003] Access でのオートナンバー型フィールド値のリセット http://support.microsoft.com/default.aspx?scid=kb;ja;812718 こちらを確認してください。

参考URL:
http://support.microsoft.com/default.aspx?scid=kb;ja;812718
buttin
質問者

補足

URLを参考に試しましたが、よくわかりませんでした。 「クエリ」メニューの「テーブルを作成」というのがみあたらず、そこから進めなかったんです。 昔2000でやったときは、もっと簡単にできたように思うのですが。

その他の回答 (5)

noname#49904
noname#49904
回答No.6

 tihitです。  主キーを設定するとアクセス速度が速くなると言っていますが体感速度に変化はありませんでした。  今は設定していません。不都合もありません。  Accessは使うたびにゴミファイルが勝手に増えてゆきます(見えませんが)ので最適化というのは必要です。  メニューのツール→オプション→閉じるときに最適化する にチェックを入れておきますといいです。  私の場合テーブルをファイルから切り離していると最適化は手動でしなければなりません。(管理する立場ですから時々しています。)  起動したときの容量と終了するときのファイル容量を比べるとすぐ判りますのでエクスプローラーや、開くときにファイル名をクリックする前に詳細表示して比べてください。  ファイルサイズが大きいと増えていくのがはっきり判ります。最適化をして比べると、よりはっきり解ります。  前のバージョンでは最適化と修復は別メニューでしたが、2000から一つになっています。  オートナンバーの件ですが、テーブルのデザインで削除して、必要なら新たに振り直してもよいです。  ああしろ、こうしろという気は毛頭ありません。  勉強しながら、「あの回答者はこんなこと言っていた」位に覚えていてください。  頑張ってください。

buttin
質問者

お礼

>メニューのツール→オプション→閉じるときに最適化する にチェックを入れておきますといいです 早速そうしました。色々教えていただいてありがとうございました。

noname#49904
noname#49904
回答No.5

#1 tihit です。  私の場合、データベースで20,000人分の顧客登録のファイルを作ったとき、オートナンバーがじゃまになったので、テーブルのデザイン画面からオートナンバーフィールドを削除してしまいました。  いっこうに誤動作もなく使っています。Office2000です。  必要でなければなくてかまわないですよ。  テーブルを分離、5台のPCからアクセスでき、どこからでも入力、削除、変更が可能です。テーブルはほとんどさわりませんが、週1回、最適化をやっています。  テーブルだけで22MBあります。  従ってオートナンバーは無くても業務に支障は出ませんでした。

buttin
質問者

お礼

個人の100件くらいの住所データです。勉強もかねてと作ってるので、応用がきかないんですね(*^_^*) でもこの場合は主キーはどうなるんでしょう? あと最適化は「データの最適化・修復」でよろしいのでしょうか?

  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.4

> 「クエリ」メニューの「テーブルを作成」というのがみあたらず、 クエリのデザインビューで、「ファイル」 「編集」とか並んでいるところに 「クエリ」というのがあると思います。 > 昔2000でやったときは、もっと簡単にできたように思うのですが。 仕様が変わりました。 [ACC2003] Access でのオートナンバー型フィールド値のリセット http://support.microsoft.com/default.aspx?scid=kb;ja;812718 こちらにも、 -------------------------------------------------------------------------------- データベースを最適化することにより、オートナンバー型フィールドをリセットすることも 可能です。しかし、この方法は Access 2002 以降では正常に機能しない場合があります。 -------------------------------------------------------------------------------- のように書いてありますね。

buttin
質問者

お礼

「テーブルの作成」ありました!前も同じところを見たのに、メニューを全部表示してなかったようです。初歩的な勘違いで…結局まだ作り始めだったので、これも勉強だと、一からやり直してしまいました。アクセスを学習してから3年、フォーム入力程度のことしかやったこともなく、久々に個人用に住所録を作っています。 個人ということで、たいしてリレーションシップも必要なく、エクセルでもいけそうなレベルなのですが、今後はこれをデータベースにしようと…教えて頂いたURLは今後の為にお気に入りにいれときました。ありがとうごさいました。

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 現在のデータに1からの連番を振り直すのならともかく、空き番号を使っていくようにするのは、かなり面倒ですよ。 とりあえず、オートナンバー型では難しいですね。 データ入力時に空き番号を探して、それを自動でセットするような処理を書くことになります。 個人的には、オートナンバーの主キーなんて、単なるレコード識別番号以外の意味は持たせるべきではないと思います。 結局、「気持ち悪い」というのがどの程度かによるでしょう。 しこしこと処理を記述してでも、気持ち悪さを解消すべきならそうすればいいと思います。 ちなみに、データの最適化をしても、現在のデータの最大値+1からしか始められません。

noname#49904
noname#49904
回答No.1

 オートナンバーは振り直し機能があったと思います。昔のことで忘れ(ボケかも)ましたがヘルプで乗っているはずです。

関連するQ&A

  • ACCESSのテーブルを削除した後のファイルサイズ

    ACCESS2002のテーブルをいくつか削除しました。削除後に「ファイル」「データベースプロパティ」でサイズを見ると削除前と変わりません。 データを削除すると当然サイズが小さくなると思ったのですが、変わりませんでした。 「ツール」「データベールユーティリティ」「最適化/修復」をするとサイズが小さくなりました。 WordやExcelなどと違って「最適化/修復」をしないとファイルサイズは小さくならないのでしょうか? また「最適化/修復」は具体的にどんな時に使うものでしょうか?

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

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

  • Accessのテーブルへのデータインポートについて

    Accessのテーブルへのデータインポートについて Access2002で、A.mdbのTESTテーブルからB.mdbのTESTテーブル(構造は同じ)へテーブルデータをインポートしたいのです。 TESTテーブルの主キーはSEQ(オートナンバー)しかありません。 そのときに、コピー元とコピー先の主キーに重複があった場合、オートナンバーなので自動で再付番しデータが追加して欲しかったのですが、 Accessの機能のエクスポート、インポートでは、コピー先に主キーに重複があったデータは上書きされてしまいます。 テーブルを開き、データをコピー&ペーストしますと、ペーストしたときにオートナンバーで自動で再付番されます。 この方法でもいいのですが、データが数百万件あるので、現実的ではありません。 Accessのインポート・エクスポートで、オートナンバーで主キーを再付番してから、B.mdbのTESTテーブルにデータ追加する方法はないでしょうか? よろしくお願いいたします。

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

    OSはWIN98です。ACCESS2000です。 ACCESS2000にてテーブルの主キーのフィールド(追番)に オートナンバー型を設定しました。 テーブルにデータを仮に100書きこんだとします。 その後に、その100個のデータを削除します。 そして、削除された後の最初のレコードにデータを 書きこもうとすると追番のフィールドが "101" に なってしまいます。新たに書きこむ時に追番を "1" にすることはできないでしょうか? 皆様よろしくお願いします。

  • Accessでのエラー

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

  • Accessでのテーブル作成や追加クエリなどについての質問です。

    ◆テーブル作成クエリで作成するテーブルにオートナンバー型のフィールドを設けたい。◆ (ナンバーが必ず1から振られることが条件) ※補足※ あらかじめオートナンバー型を含むテーブルを用意し、追加クエリ&削除クエリを使用すればよいという意見もありますが、この場合オートナンバー型のフィールドはカウントをアップし続けてしまう為断念。 ★教えてほしい事★ テーブル作成クエリからオートナンバー型のフィールドを作成できるのか? もしくは あらかじめオートナンバー型を含むテーブルを用意し削除クエリでテーブルのデータを空にしてから追加クエリでデータを入力しても必ずオートナンバー型のフィールドの先頭値は"1"から始まるようにできるか? 宜しくお願い致します。

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

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

  • Access 複数テーブルのレコード自動更新

    Access初心者です。会社で業務の進捗状況を、Access2002を使って管理しています。 フィールド数が増えたので、以下のようにテーブルを分けることになりました。 Aテーブル(メイン)   管理No.(主キー、オートナンバーではない)    カテゴリ    作業内容    : Bテーブル   管理No.(主キー、オートナンバーではない)    チェック項目B-1   チェック項目B-2    : Cテーブル   管理No.(主キー、オートナンバーではない)    チェック項目C-1   チェック項目C-2    : という形式で、AとB・Cはクエリのリレーションシップで、「管理No.」を1対1で関連づけています。 AテーブルのもとのデータはExcelからインポートしますが、 Aテーブルのレコード数は増えますが、クエリには反映されません。 Aのレコードが増えたら、BやCも同時に増やすことはできますか?

  • アクセスのオートナンバー

    XPのアクセスを使っています。 オートナンバーに主キーが設定されています。 データを入力するとオートナンバーが「1・2・3~」と振られていきますが、もし「3」のデータを消去すると「1・2・4~」となります。 私的にはツメて「1・2・3~」となって欲しいのですが無理なのでしょうか?オートナンバーとはそういうもの? アクセス超初心者ですのでよろしくお願いいたします。

  • Accessの主キーについて

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

専門家に質問してみよう