前回、Tagを利用した一括処理の方法を紹介しました。

汎用性がないかもしれないコードだったかもしれません。

今回は、実務で利用できるコードです。

スポンサーリンク

クラスモジュールで、一括処理を実行して、入力漏れを防止

 

こんにちは。伊川(@naonaoke)です。

今回も一括処理系の内容になります。

思えば、今回紹介する処理も、ACCESS初心者の頃は、できないと思っていました。

入力フォームで、入力漏れを防止するという問題に直面したときに、上席から、テキストボックスに色を付けたらいいのでは?

こんな提案がありました。

ちなみに、テキストボックスは、200個くらいありました。

 

知らないとはいえ、なんてことを言うんだ。

Naosuke
お前の親の顔が見てみたい

本当にそう思いました。

多分if構文でやった場合、4行くらいですかね。

4行×200のテキストボックス=800コード

こんなことは、非現実的です。

だから、即答でしました。

Naosuke
無理です

しかし、その無理は、クラスモジュールと出会い、現実となりました。

スポンサーリンク

このブログはこんな人にお勧め

 

今回のテーマ
  • ACCESSでVBAを勉強している人
  • クラスモジュールを勉強している人
  • 入力フォームで、入力漏れを無くしたい人

このブログを、読み終わるころには・・・・

このブログの結論

一括処理に関しては、今回は、配列を使います。

配列も、一括処理には重要だと思うはずです。

配列は、難しいですが、コードを眺めて、慣れていきましょう。

スポンサーリンク

クラスモジュール

 

クラスモジュールに関しては、何度が説明しているので、下記の記事を参照してください。

クラスモジュールに関しては、

人間を使って説明する例、

よく使う機能をクラスモジュールへ移行する例

初心者でも、すぐに、集計、プレゼンができるようになる。書籍だけの勉強は今すぐやめよう!
電子書籍で、AMAZON1位
専門のスタッフが、電話、チャットで完全サポート
大手パソコンスクールよりも、圧倒的な低価格

今回は、クラスモジュールを利用して、イベントを発生させます。

人間を使った説明や、たい焼きの例もいいですが、

Naosuke
クラスモジュールに関しては、イベントを発生させるコードを勉強したほうが楽しいです。

 

上記の書籍には、クラスモジュールが記載されています。

一読の価値はあります。

クラスモジュールで一括処理 作業手順 その1 入力フォームを確認

テキストボックスが、フォーカスされたら、テキストボックスに赤の色がます。


スポンサーリンク
Naosuke
ブログは、静止画になりますので、ぜひ、動画を観てください。

通常であれば、テキストボックスの、更新後処理に、イベント発生のコードを記載しなければなりません。

たった3つのテキストボックスですが、これが、10個も、20個もあったら本当に面倒になります。

この同じ処理、つまり、同じイベントを、クラスモジュールで設計するのです。

クラスモジュールで一括処理 作業手順 その2 クラスモジュールのコード

このWitheventsは、使えます。

このコードの意味は、

テキストボックスがフォーカスされたら、テキストボックスのフォーカスが外れたら、テキストボックスの背景を変えるということです。

変数オブジェクトでイベントの作成が可能になります。

例えば、前回紹介したように、一気にチェックを入れるようなイベントです。

今回も、テキストボックスという、共通したものに、イベントを発生させるので、このコードを利用します。

Naosuke
インテリジェンスが利用できると便利ですね。

 

イベントを発生させるコード

 

この辺は、見た通りです。

特に説明は不要かと思います。

Terminateは、クラスモジュールへ引っ越しの記事でも、現れました。

 

 

クラスモジュールで一括処理 作業手順 その3 フォームモジュールのコード

ここのコードは、少し難しいかもしれませんね。

動的配列を利用して、TypeName関数を利用して、型が、テキストボックスの数を配列にセットするという方法です。

Select Caseを利用して、型がTaxtBoxの時は、イベント(テキストボックスの背景の色を変える)を発生させます。

各テキストボックスに、イベントを記載しなくても、たった、数行のコードで、フォーム全体のテキストボックスを操作できます。

ここがポイント

 

ここがポイント
Function8.png
今回も一括処理系の内容です。
For~Each~Next Controlsが登場してきます。
クラスモジュールは、設計図といいましたが、VBAのコードのみならず、
入力フォームにおいて、テキストボックスの配置も、クラスモジュールに合わせて設定するということですね。
動画とブログでわかりやすくExcelとACCESSを紹介しています

まとめ

 

クラスモジュールの説明が、本当に、人間や、たい焼きの説明であることが、有害のなにものでもないですね。

教える側は、1つの結果から、様々は背景を説明することが大切です。

また、様々な背景から、1つ結果に結びつくような説明も重要です。

いつか、人間や、たい焼きの説明も重要になるかもしれません。

しかし、コードを操作するには、なんとっても、楽しくないと、勉強する気にはなれませんね。

今回も最後まで読んでいただきありがとうございました。

今回のサンプルファイルは、No258です。

毎日の業務が、3時間短縮できます

わからない事を延々と考えるのは、無駄です。

  • なんで作動かないの?
  • もうやだ!VBAなんか嫌い!
  • ネットで調べても情報がない!

必ず作動するコードが、ここにあります。

スポンサーリンク

Twitterでフォローしよう

おすすめの記事