pickup

ACCESSのVBAは、比較的カンタンです。

しかし、Excelのようにループを利用して、一括処理をするという処理は、基本書では、見かけません。

その、一括処理についてです。

目次

スポンサーリンク

ACCESSで一括処理をする

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

 

今回は、ACCESSで一括処理をすることができるなんて、

ACCESSを利用したころは、思っても見ませんでした。

 

ACCESSは、VBAで、イベントを発生させるのはExcelよりカンタンです。

しかし、ループのような処理は、どのように実行するのかわかりませんでした。

 

フィールド毎に名前が違うので、できると思っていませんでした。

しかし、Functionを利用して、テキストボックスの名前に、txtという冠を付けることで、細工が可能と知りました。

 

 

そして、クラスモジュールを自分で勉強していて、カンタンに一括処理ができるということを知りました。

 

今回は、カンタンに一括処理を行う方法を紹介します。

 

 

スポンサーリンク

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

今回のテーマ
  • ACCESSで、ループのような処理をしたい人
  • ACCESSのVBAを勉強している人
  • ACCESSのVBAは、難しいと思っている人

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

 

このブログの結論

細工が必要になりますが、ACCESSは便利になります。

そして、この知識が、クラスモジュールにつながります。

知識は、必ずつながります。

スポンサーリンク

ACCESSのTagプロパティ

 

他のプロパティとは異なり、”Tag/タグ” プロパティの設定値は、オブジェクトの属性に影響を与えません。

このプロパティを使用すると、他のプロパティの設定値に影響を与えずに、またはその他の副作用を発生させることなく、識別のための文字列をオブジェクトに割り当てることができます。プロシージャに変数として渡されるフォーム、レポート、データ アクセス ページ、セクション、またはコントロールの ID を確認する必要がある場合に、”Tag/タグ” プロパティは便利です。

 

これもちょっと難しくてよくわかりませんが、重要なのは「”Tag/タグ” プロパティの設定値は、オブジェクトの属性に影響を与えません」というところです。

つまりこのプロパティに何を記しても何も起こりません。

だけど、細工が必要だから、うまい事細工してねということです。

つまり、独立した枠を持っているということですね。

プロパティシートの1番下です。

ACCESSで一括処理 作業手順 その1 同一グループにすべてチェックを入れる

仮面ライダーをクリックすると、すべて、仮面ライダーにチェックが入ります。

また、ウルトラマンをクリックすると、すべて、ウルトラマンにチェックが入ります。

一括処理したい仮面ライダーグループに関して、仮面ライダーとタグを設定します。

同様に、ウルトラマングループに関しても、同じ設定をします。

細工はこれだけです。

これで完了です。

ACCESSで一括処理 作業手順 その2 同一グループをグレイアウトさせる

 

新規顧客と、既存顧客を分けて入力したいような場合です。

新規をクリックすると、既存グループのテキストボックスが、グレイアウトになります。

既存顧客をクリックすると、新規顧客グループが、グレイアウトになります。

新規顧客に、consumer と入力します。

スポンサーリンク
既存顧客に、customer と入力します。

細工はこれだけです。

後は、下記のようにコードを記載します。

ここは、IF構文でもいいのですが、Select Caseを利用しました。

コード自体は、難しくありません。

細工をしておけば、とてもカンタンです。

ACCESSで一括処理 作業手順 その3 For Each と、Controls

 

Excelのユーザーフォームでもおなじみですが、ACCESSのユーザーフォームでも、同じです。

結局、Excelも使うものは、ACCESSでも使います。

以前は、私は、一括処理を知らなくで、全部に、コードを書いていました。

Me.テキスト60.Enabled = True

さすがに、テキストボックスが、100個くらいありましたので、現実的とは思いませんでした。

Naosuke

しかし、知らない以上、やるしかありませんよね。

泣きながら、設定していました。

以前の私は、随分、バカだったと思います。

 

この知識は、前半にも記載しましたが、ACCESSでクラスモジュールを利用したいと思いながら勉強していて、偶然に発見しました。

当然、ACCESSで出来るなら、Excelのユーザーフォームでもできます。

興味にある人は勉強してみてください。

 

 

ここがポイント

ここがポイント
Function8.png
コードに汎用性を持たせたい場合は、コードの中に、フィールドを特定するような記載がありません。
だから、一括処理がでるのです。
このようなことができると、VBAはさらに面白くなります。
以前に紹介した、クラスモジュールを設定したときの、標準モジュールは、本当に、短いコードです。
このような処理を、もっとカンタンにできるようにしたいと思います。
動画とブログでわかりやすくExcelとACCESSを紹介しています

まとめ

 

今回は、ACCESSの一括処理を、紹介しました。

今回の記事には、クラスモジュールの内容も詰まっています。

その辺は、まだ勉強しなければなりませんが、今後も頑張っていきます。

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

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

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

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

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

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

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

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

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

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

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

 

スポンサーリンク

Twitterでフォローしよう

おすすめの記事