Google検索

リンクユニット

Windows Xp & Office2003 Access2003

オートナンバー型を使わずに自動的に連番を入力

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

Accessのテーブルでコードなどに、オートナンバー型を使っているとなにかと不便を感じることもあります。

番号に欠番が生じた場合、再度 番号を振りなおすのが面倒なんですね。

オートナンバーを振り直す方法はあります。

オートナンバー型の番号の振り直し(いろいろな方法がありますが、私が一番簡単だと思う方法を解説しています)

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

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

続きを見る

Excelにエクスポートして番号を振りなおして、再度 それをインポートする方法もあります。

オートナンバーの振り直しができても、やっぱり、できるだけ面倒なことは避けたいですよね。

オートナンバー型を使わずに自動的に連番を入力していく方法です。

いくつか方法はあるようですが、その中の一つの方法と思ってくださいね。

データ型を数値型に

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

テーブル データ型

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

テーブル

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

入力用のフォームをデザインで開いて、フォームセレクタをダブルクリック。

フォームのプロパティを表示させます。

[イベント]タブから[挿入前処理]プロパティのビルドボタンをクリックします。

イベントタブ

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

ビルダの選択

下のようにコードを書きます。

[ナンバー]はテキストボックスの名前です。

[管理テーブル]は、テーブルの名前です。

赤線の部分だけ書き直します。

管理テーブルのレコード件数を数えて、0だったら1を返して、それ以外なら管理テーブルの中で一番大きな値に1を足したものを返すというものです。

VBE

これでOKです。

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

VBE

ビューを切り替えて、入力してみます。

ナンバーには入力しないで[所属]フィールドで選択(入力)した時点で自動的に番号が振られると思います。

フォームビュー

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

ナンバーテキストには、カーソルが移動しないようにした方がいいかもしれませんね。

[ナンバー]テキストボックスのプロパティの[データ]タブから、[使用可能]を[いいえ]、[編集ロック]を[はい]にします。

これで、ナンバーのテキストボックスにはカーソルは移動しなくなります。

データタブ

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

フォームビュー


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

テーブル

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

入力

フォームを開くと、ちゃんと並び変わっています。

もちろん、テーブルも昇順に並びます。

フォームビュー

おすすめ記事と広告

推奨管理人一押しのテキストです。私もこれで学習しました。

-Windows Xp & Office2003 Access2003

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

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