リンクユニット

Windows Xp & Office2003 Access2003

オートナンバーは使いたくない

投稿日:2017年1月7日 更新日:

テーブルでコードなどに、オートナンバー型を使っているとなにかと不便なんですよねぇ~。
番号に欠番が生じた場合、再度 番号を振りなおすのも面倒だし。
その方法は、あります。
オートナンバー型の番号の振り直し(私が一番簡単だと思う方法を解説しています)

オートナンバー型の番号の振り直し

Accessのテーブルでフィールドのデータ型を[オートナンバー型]にして レコードを削除すると、そのレコードは欠番になります。 下は、[6] ...

続きを見る

Microsoftのサイトでも紹介されています。
オートナンバー型のデータを連続番号に再設定する方法

エクセルにエクスポートして番号を振りなおして、再度 それをインポートする方法もあります。
でもね・・・・やっぱり、できるだけ面倒なことは避けたいですよね。

オートナンバー型を使わずに自動的に連番を入力していく方法です。いくつか方法はあるようですが、その中の一つの方法と思ってくださいね。

データ型を数値型に

下のような[管理テーブル]があります。[ナンバー]フィールドのデータ型は、数値型にします。
テーブル データ型

そして、[管理テーブル]を元に作成した入力用のフォームがあります。
テーブル

挿入前処理のイベントにコードを入力

入力用のフォームをデザインで開いて、フォームセレクタをダブルクリック。
フォームのプロパティを表示させます。
[イベント]タブから[挿入前処理]プロパティのビルドボタンをクリックします。
イベントタブ

コードビルダを選択して[OK]ボタンをクリック。
ビルダの選択

下のようにコードを書きます。
[ナンバー]はテキストボックスの名前。
[管理テーブル]は、テーブルの名前。
赤線の部分だけ書き直します。
管理テーブルのレコード件数を数えて、0だったら1を返して、それ以外なら管理テーブルの中で一番大きな値に1を足したものを返すというものです。
VBE

これでOKです。
もしも、データが入力されたあとなら下のように一行だけでもいいです。
(ナンバーフィールドに[1]が入力された後ならという意味です)

VBE

ビューを切り替えて、入力してみます。
ナンバーには入力しないで[所属]フィールドで選択(入力)した時点で自動的に番号が振られると思います。
フォームビュー

ナンバーテキストにカーソルが移動しないように設定

ナンバーテキストには、カーソルが移動しないようにした方がいいかもしれませんね。[ナンバー]テキストボックスのプロパティの[データ]タブから、[使用可能]を[いいえ]、[編集ロック]を[はい]にします。これで、ナンバーのテキストボックスにはカーソルは移動しなくなります。
データタブ

ビューを切り替えて、確認してみてください。
フォームビュー


たとえば、管理テーブルでナンバー3のレコードを削除したとします。
テーブル

テーブルで新しくナンバー3を入力します。
入力

フォームを開くと、ちゃんと並び変わっています。もちろん、テーブルも昇順に並びます。
フォームビュー

おすすめ記事と広告

記事を更新しました

マクロの作成

マクロって難しいそうだなぁと思っていませんか? 高度なマクロではなく、簡単にできるものから始めてみませんか? マクロの作成の方法です。 マク ...

オートシェイプを揃えたい

オートシェイプを使って、直線を描いてます。 でも、下のようにバラバラです。 オートシェイプを選択 これを左端に揃えて、上下の間隔も揃える方法 ...

【〃】【々】の入力

どうやって入力したらいいのかしらと悩んだことはありませんか? これは、[おなじ]、[くりかえし]または[どう]と入力して変換すれば、変換候補 ...

ウィンドウの大きさ

ウィンドウの大きさは操作しやすいように変更することができます。 ウィンドウの右上のボタンをクリックして変更します。 最小化 [最小化]ボタン ...

折りたたみ機能

Excelのワークシートで列や行の非表示/表示を度々行うのであれば、グループ化の設定をしてボタンをつけておくのも一つの方法です。 下のような ...

-Windows Xp & Office2003 Access2003

Copyright © 2001-2018 初心者のためのOffice講座 All Rights Reserved.

Copyright© 初心者のためのOffice講座 , 2018 AllRights Reserved Powered by AFFINGER4.