プロが教える店舗&オフィスのセキュリティ対策術

アクセス初心者のものですが、マクロとモジュールの違いが良くわかりません。
どなたか教えていただけませんか?あと、プロシージャというのも、よく理解できないのですが、教えてください。よろしくお願いします。

A 回答 (3件)

マクロって、単純な動作しか出来ませんよね。


複雑な条件分岐を行ったり、繰り返しのある処理を行ったり…といったことは、マクロでは出来ません。

例えば、データシートの1行目から100行目まで連番を振る、っていう処理を書くとすると、マクロであれば1行目に1を入力、2行目に2を入力…100行目に100を入力… ってな感じで、100行分の処理を入力しなくてはいけません。

加えて、状況によって100行が90行になったり110行になったりするっていう場合にはもうお手上げです。

モジュールであれば、「データシートの1行目から最終行に達するまで1加えながら入力していく」っていう処理が記述できますので、より柔軟で実用性の高い動作を作成することが出来ます。

「プロシージャ」を和訳すると「処理」ってな意味合いでしょうかねぇ。
上記の例を「連番作成」ってな名前のプロシージャ(処理)として作成しておきます。
で、フォーム上でボタンを押下したときに「連番作成」を実行するように設定しておく、みたいな感じですね。
    • good
    • 1
この回答へのお礼

ご回答ありがとうございました。マクロとモジュールの違いが、だんだんとわかってきました。アクセスって奥が深いですね。

お礼日時:2002/04/20 19:00

Word、Excelでは


 マクロは、
  処理手順をVBAコードで記述するかマクロの記録で作ったプログラム(Subプロシージャ)、
 プロシージャは
  「Sub・・・End Sub (Subプロシージャ)」や
  「Function...End Function (Functionプロシージャ)」などでできたVBAコードのこと。
  プロシージャのうち、Sub・・・はマクロとして実行できるので、それもマクロと言えるでしょう。

 だいたいの使用法としては、
  (1)基本的な操作をマクロ記録→繰り返しや判断の追加
  (2)最初からプロシージャを書く            
 のようにしています。マクロ記録だけではほとんど使いものになりません。

 また、モジュールとはプロシージャを記述するためのVBEの特別なシート。
以上は、Word、Excelの話です。


gonpapa2002さんの質問には『アクセス初心者のものですが・・・』とありますが、
これから考えると『マクロとモジュールの違いを教えてください』は、データベースウインドウ
にある『マクロ』と『モジュール』のことでしょうか。

私は、Accessの場合は『マクロは簡易言語』と思っています。
例えばフォームで何かのイベントを書く場合、ビルダの選択ダイアログでは、
 (1)式ビルダ
 (2)マクロビルダ
 (3)コードビルダ
の選択をします。

ここにある、マクロはWord、Excelで言うマクロとは別物で、それ単独で機能してくれるものです。
条件判断のないWord、Excelのマクロの記録とは別物です。

また、コードビルダ(プロシージャを作る)はそれ以上複雑な時、使用しますし、マクロをコード変換して使用したりします。

Word・Excel、Access間で『マクロ』の意味が異なると思えば、理解しやすいように思います。
ご参考に。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。ワードやエクセルで使うマクロと、アクセスで使うマクロが別物なんですね。ん~難しい~。複雑な時に、モジュールを使うのですね。

お礼日時:2002/04/20 19:04

マクロとは作業手順をプログラムコードで記述したもの、または「マクロの記録」機能で作ったプログラム。

マクロにしておけば、複雑な手順もまるでひとつの手順のように実行できるようになる。

プロシージャとは「Sub...End Sub (Subプロシージャ)」や「Function...End Function (Functionプロシージャ)」などをひとまとまりとしたVBAコードの集まりのこと。通常、Subプロシージャはマクロとして実行できるので、それらのプロシージャは「マクロ」と言うことができる。

モジュールとはプロシージャを記述するための特別なシートのこと。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。プログラム言語って難しいですね。マクロとモジュールの違いは、なんとなくわかりました。モジュールは、さらにプロシージャを記述して実行するものなのですね。

お礼日時:2002/04/20 18:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています