goo blog サービス終了のお知らせ 

パソコンカレッジ スタッフのひとりごと

パソコンスクールのスタッフが、
初心者から上級者まで役立つ情報をお伝えします。

グループごとに連番をふりたい(AccessVBA編)

2011-02-22 09:00:32 | Access(アクセス)
今回は、mihoちゃんが書いてくれたブログの続編をお送りします。

グループごとに連番をふりたい(Access2007編)では、関数を巧みに使って、連番を設定していましたね。

今回は、AccessVBAを使って連番をふってみます。

なお、Access2002以降なら、問題なく動作すると思います。(動作確認してませんので多分・・・)


まず、テーブルの確認です。mihoちゃんの時と同じテーブルを用意しました。
ただし、このテーブルには、班IDというフィールドが既に定義されています。
(データ型は、数値型です)

班IDフィールドに、連番を書き込んでいくのが今回の目的です。





このテーブルは、班ごとにグループ化されていないので、プログラム処理しやすいように、
まずは、班ごとに並び変えるクエリを作成します。


以下のようなデザインで、クエリを作成します。
班フィールドをソートしてあれば十分ですが、今回は、さらにID順に並べ替えておきました。





データシートビューで表示すると、以下のようになります。




この状態で、班IDフィールドに連番を振るということは、班1が4件あるので、1、2、3、4と連番を振った後、
班の値が2に変わるので、また、1から連番が降られることになります。

この流れをプログラムしていくのです。

さて、プログラムを実行するために、ボタンを備えたフォームを用意します。





ボタンを1つ配置します。
ボタン名は、表題と同じ「連番を振る」にしました。





プロパティシートのイベントタブから、クリック時イベントの右端をクリックします。

コードビルダを選択して、Visual Basic Editorが表示されたら、以下のようにコードを記述してください。


画像を載せておきます。(なぜかテキストにすると、はじかれてしまうので画像でごめんなさい)





コードの解説は、コメントを参照してください。





それでは、フォームビューに切り替えて、ボタンをクリックしてみましょう。
よほどたくさんのレコード件数でない限り、処理は、あっという間に終わります。

クエリを開いて、確認してみると、ちゃんと連番がふられています。






今回の例は、mihoちゃんの紹介してくれた方法を使えば、バッチリですが、VBAをうまく使うと、
Accessは、ますます使い勝手が良くなります。


だい

コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 今週のおすすめ記事 | トップ | 「マイ ピクチャ」のアイコン... »
最新の画像もっと見る

コメントを投稿

Access(アクセス)」カテゴリの最新記事