MS-Accessで連番を回避する方法

このQ&Aのポイント
  • MS-Accessでテーブルを開いて、あるフィールドに数字を入力するとカーソルが次のレコードに移動すると、勝手に連番を入力したがる機能を停止したい方法を教えてください。
  • Access97ではこの現象はありませんが、Acces2000と2002(Xp)では余計なおせっかいが発生します。具体的には、テーブルを1個作成して、文字または数値の項目を1個作成します。次にテーブルを開き、今、作成した項目に1を入力してEnterつぎに、下矢印をおして2を入力してEnter問題はその次です。下矢印をおして新規レコードに移動したときに、自動的に3を表示してしまいます。本当は、3ではなくて空っぽにしたい時でも勝手に3を表示します。数値フィールドの場合は、初期値をゼロに指定しておくとこの現象を回避できますが、文字フィールドの場合はだめです。
  • MS-Accessで連番を回避する方法がわからない場合は、数値フィールドの場合は初期値をゼロに指定し、文字フィールドの場合は回避方法が存在しないことをご了承ください。
回答を見る
  • ベストアンサー

MS-Accessで連番を回避したい。

MS-Access でテーブルを開いて、 あるフィールドに数字を入力すると カーソルが次のレコードに移動すると、 勝手に連番を入力したがる機能を 停止したいが、わからないので ぜひ教えてください。 Access97ではこの現象はありません。 Acces2000と2002(Xp)では余計なおせっかいが発生します。 具体的には、 テーブルを1個作成して、 文字または数値の項目を1個作成します。 次にテーブルを開き、 今、作成した項目に1を入力してEnter つぎに、下矢印をおして2を入力してEnter 問題はその次です。 下矢印をおして新規レコードに移動したときに、 自動的に3を表示してしまいます。 本当は、3ではなくて空っぽにしたい時でも 勝手に3を表示します。 意識していなければ、それが書き込まれてしまいます。 数値フィールドの場合は、初期値をゼロに指定しておくと この現象を回避できますが、 文字フィールドの場合はだめです。 どなたか回避方法ご存じでしたらよろしくお願いいたします。

  • egao
  • お礼率93% (15/16)

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

  • ベストアンサー
  • vantage
  • ベストアンサー率60% (310/514)
回答No.1

本当におせっかいな機能ですね~。 (私的には急ぎでテストデータ作ったりするのに重宝していますが・・・) とりあえず、この機能をOFFにする方法は私には分かりません。 回避策としては、<Tab>か<Enter>で次のフィールドに送ればこの現象は起きませんね。 どうしても<↓>でいきたい場合は、 フィールドに何かの規定値を設定しておくとこの現象にならないみたいです。 データ的に問題が無ければ規定値を" "(スペース)としておくとか、何か意味のない記号("*"とか)を規定値として入れておいて、処理する前にクエリーをかませて空白に変換するなどという手法が使えそうです。 あんまりスマートではないですが、とりあえず思いつくのはこんな感じですね。 ご参考になれば・・・

egao
質問者

お礼

ありがとう御座います。大変参考になりました。 またよろしくお願いいたします。

関連するQ&A

  • Access2007で自動連番できなくなった?

    Access2003からAccess2007へバージョンアップしました。 2003では、テーブルを開いて、数値型のフィールドに、 1 2 と入力してから、下矢印キーを押しっぱなしにすると、 連番をダーッと入力できたのですが、 2007にアップしてから出来なくなりました。 この機能を使うには何か設定を変える必要があるのでしょうか? それとも、この機能自体がなくなってしまったのでしょうか? ご教授お願いします。

  • アクセス フォームの設定

    テーブル【T-1】 フィールドA,主キー,数値型 フィールドB,テキスト型 フィールドC,テキスト型 フィールドD,テキスト型 フィールドE,テキスト型 フォーム【F-1】 テーブル【T-1】に入力用のフォーム,単票型 があります。 F-1でそれぞれのフィールドに対して入力スペースがあり(もちろんですが) A,B,C,D,Eと順番に入力していきます。 ここでエンターキーを押すと、次のレコードへ移るわけですが、 カーソルがEの位置にあるため、わざわざマウスでAの位置へ移動させないといけません。 同様に、入力項目がなく、A,B,Cと入力して次のレコードへ行くと、Cの位置にカーソルがあります。 これを、Aをホームポジションとして、次のレコードへ移ったときに 自動的にカーソルをAの位置にもってくるようにしたいのですが、 一体どうすればよろしいでしょうか?

  • MS-アクセス2000で入力モードがうまくいかない。

    アクセス初心者です。初めて顧客管理を作成していますが、 テーブルにてデータ入力時、フィールドでIME入力モードを「オン」に設定しているのですが 勝手に全フィールドのIME入力モードが「半角英数」になります。また、「半角英数」になる時が 次のレコードに移行した時、マウスでフィールドを選択した時などまちまちです。 1度、「半角英数」になると、各フィールドが「半角英数」のままで移行し その時、キーボードの「半角・全角/漢字」を押しても入力モードが「半角英数」と「直接入力」 にしか切替わらないので、いちいちマウスで「ひらがな」にしている状態です。 各フィールドのIME入力モードは、項目によって「オン」「オフ」に設定しています。 マイクロソフトのサーポートオンラインを見てもよくわかりません。 goo質問でも探し方が悪いのか見当たりません。 このままでは、作業が進みません。困っております。 よろしくお願いします。

  • MS-ACCESSのボタンを作りました。

    例:前提として生徒のプロフィールテーブルがあるとします。   氏名,性別,テストの点数,偏差値,合否 といった各フィールドがあるとします。   別のテーブルに「合否」というテーブルがあり、合否フィールドに合格、不合格、審議 というレコードをもってるとします。 新しくフォームを作りました。フォーム上に既にレコードが入力された生徒のプロフィールが表示されています。ここに新しく「合否」テキストボックスを配置し、下にボタンを4つ配置して、それぞれ、合格、不合格、審議、やり直しといったボタンを作成するとします。 このそれぞれのボタンを押すと新しくフォーム上に作成された合否テキストボックスにそれぞれ、合格、不合格といったレコードが入力され、同時にそれが生徒のプロフィールテーブルの合否にも反映するような方法と、コマンドを教えてください。

  • ACCESSでの連番作成

    ACCESSにおいて、あるテーブルのフィールド1に1001、1003と2つのレコードが入っています。フィールド2にははじめは何も値は入っていません。 フィールド1 フィールド2 1001 1003 となりのフィールド2にフィールド1の値1つに対して100個の連番を 作成したいのですが、どのような方法が考えられますでしょうか? フィールド1 フィールド2 1001     100100 1001     100101 1001     100102 …      … 1001     100199 1003     100300 1003     100301 1003     100302 …      … 何分初心者なもので、おわかりの方がいらっしゃいましたらぜひご教授お願い致します。

  • Access VBAで自動連番を振るには

    【テーブル名】T_株券管理 【フォーム名】F_株主入力 【フィールド名】株主ID(テキスト型)(主キー) フォームに入力する際にオートナンバーを使用せずに、 レコードが切り替わると「株主ID」が「00001」「00002」「00003」・・・・というように1づつ発番されるようにしたく、AccessVBAの本を読んだり、ネットでDmax等調べているのですが、必要な情報が探せずに困っています。 本当はオートナンバーでIDを振っても良いのですが、レコードの削除等行った時に歯抜けになってしまうので、うる覚えで申し訳ないのですが・・・確か、フォームのテキストボックスのプロパティ、コードビルダでVBを「レコードが移動した際に」→「株主IDが0の場合に”00001”を、0でない場合には既存の数値に+1した数値をテーブルT_株券管理の”株主ID”に入力する。」といった感じの記述がしてあったと思います。VB初心者なので、説明が上手くできずにすみません。 このような記述方法はありますでしょうか?

  • ACCESSでコピーしたレコードのフィールド置換作業の繰返しを簡素化したいです

    ACCESS2000を使っています。テーブルには必ず「Nenndo」というフィールド名(数値型十新型)で西暦4桁が入力されています。(このフィールドはキーにもインデックスにもなってません)たとえば、 T_M001テーブルのNendoフィールドに2007が入力されたレコードが340件 T_M002テーブルのNendoフィールドに2004が入力されたレコードが823件 こんな感じでNendoフィールドがあるテーブルが沢山あります。 これらのテーブルのNendoフィールドに格納されているレコードをコピー置換作業して2004から2008までのデータを作成したいです。 T_M001であれば2007が入力されてるレコードをコピーして、貼付たレコードNendoフィールドの2007を2004へ置換、また2007のレコードをコピーして2005へを繰り返の作業してます。レコード数は340件が1360件増えて1700件。 テーブルが沢山あって作業に苦慮してます。 ACCESSのモジュールでもマクロでも構いませんので対応策等ご教授願います。

  • Accessのサブフォームについて

    メインフォームとサブフォームのあるフォームを作成しました。メインフォームを入力してから、サブフォームを入力し、次のレコードへ移動するのにメインフォームの移動ボタンを押すと、次のレコードのカーソルがサブフォームのフィールドへ移動します。メインフォームに移動する方法はありませんか?

  • accessのクエリで入力が不可能…

    【テーブルA】 フィールド1〔数値型〕 フィールド2〔テキスト型〕 フィールド3〔テキスト型〕 フィールド4〔数値型〕 【テーブルB】 フィールド1〔数値型〕 フィールド2〔テキスト型〕 フィールド3〔数値型〕 フィールド4〔テキスト型〕 となっています。 両方のテーブルを使い、クエリを作成しました。 リレーションが、テーブルAのフィールド1と、テーブルBのフィールド3に設定してあります。 このようにして作成したクエリでデータの入力ができません。 なぜでしょうか? Access2000です。

  • Access フォーム タブオーダー

    サブフォーム付のフォームを作成しましたが、主フォームから サブフォームに移動する最、移動位置が正しくないのですが この設定はどのようにするのでしょうか? フォームの最後のボックスから移動した場合 サブフォームの先頭レコードの最後のフィールドに移動してしまいます。 最後から三番目のフィールドに移動させたいです。 タブオーダでEnterやTabキーで移動場所の設定はできますが 矢印キーで自由に移動できるように設定できないのでしょうか?