OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

VBのフォームモジュールと標準モジュールの使い分け

  • 困ってます
  • 質問No.237613
  • 閲覧数3132
  • ありがとう数4
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 62% (49/78)

VBのフォームモジュールと標準モジュールの使い分けが今一つわかっていません。
フォームモジュールとは、フォーム(画面)上で起こったイベント(例えば、ボタンをクリックした時とか、ユーザーが行を選択したりだとか)の処理を、記述するところと解釈しています。
標準モジュールは、フォームが2つ以上あって、その2つが共通する処理(関数)などを、記述したり、フォームが1つでも、同じ処理を繰り返す場合、その処理を標準モジュールに書いたり・・・・という解釈をしています。
あってますでしょうか?

フォームが一つしかない場合、もしくは2つあっても、あまり共通する処理がない場合、なんかは標準モジュールはあまり使わないのでしょうか?
それとも、フォームが1つとかでも、今後のメンテの事など考慮して、標準モジュールを作ってそこにグローバル変数なんかで処理を書いた方がよいのでしょうか?
どなたか、教えてくださいませんか?
いろいろBBSなどで見てみるんですが、いろいろ書いてあって、どれが理想か
わかりません。よろしくお願いいたします。
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル11

ベストアンサー率 42% (103/245)

>標準モジュールは、フォームが2つ以上あって、その2つが共通する処理(関数)などを、記述したり
で良いと思いますよ。
逆に
>フォームが1つでも、同じ処理を繰り返す場合
は、フォームモジュールの中に関数を作ってしまうので良いのでは?

参考になるかわかりませんが、私はDBとの接続や、起動時の全フォームのロード、定数やプロジェクトレベルでのグローバル変数の宣言等に使用しています。
そういえばMain関数は標準モジュールにしか書けませんでした…っけ?
メッセージボックスを表示する際の関数を自分で定数とMsgBox()を組み合わせて使い勝手の良い物にする…というのもよくやります。
補足コメント
tariran

お礼率 62% (49/78)

早々のレス大変うれしく思います。
質問なのですが、、、すみません。。

DBはオラクルを使用していて、フレキシブルグリッドというオブジェクトに、フォーム上のボタンを押した際に取得したデータを表示しているんですが、
そのボタンも2種類あり、それぞれ取得するデータも違うのですが、半分くらいは
2つとも同じデータを取得するんです。

この場合は、オラクルへ接続と、同じデータを取得する部分は標準モジュールに書いた方がよいのでしょうか?
現時点では、オラクルへの接続だけを標準モジュールに書いて、2つのボタンのイベントはそのままフォームモジュールに書いています。
なので同じデータを取得するところは2つ書いてしまってて。。
これってあんまりよくないのかな???っと。。。。

すみません、。こんな初歩的な質問で・・・・。
よろしくお願いいたします。
投稿日時 - 2002-03-19 01:05:54
お礼コメント
tariran

お礼率 62% (49/78)

参考になりました
ありがとうございました
投稿日時 - 2002-03-24 22:33:37
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.2
レベル12

ベストアンサー率 40% (230/562)

フォームモジュール内の関数には、密かにどのフォームから呼ばれたかを識別する引数が余分に渡されているので、使わない場合はオーバーヘッドがあります。 フォームモジュール内には、そのフォーム自身にアクセスすることのない関数は書かないほうがいいです。 Form1ってのはじつは、複数作ることができます。 そのときモジュールからForm1.Captionという書き方をすると、特定の1つにしかアクセスできませ ...続きを読む
フォームモジュール内の関数には、密かにどのフォームから呼ばれたかを識別する引数が余分に渡されているので、使わない場合はオーバーヘッドがあります。
フォームモジュール内には、そのフォーム自身にアクセスすることのない関数は書かないほうがいいです。

Form1ってのはじつは、複数作ることができます。
そのときモジュールからForm1.Captionという書き方をすると、特定の1つにしかアクセスできません。

まぁ、今分からないなら、区別する必要もないってことです。
必要なときが来たら自然と分かると思います。
お礼コメント
tariran

お礼率 62% (49/78)

参考になりました
ありがとうございました。
投稿日時 - 2002-03-24 22:32:02
  • 回答No.3
レベル8

ベストアンサー率 51% (21/41)

私の個人的趣味では 標準モジュールはグローバルな定数定義と共通関数で使います。 グローバル変数は、標準モジュールは書きません とゆうか 使いません。 共通で使用する変数はクラスモジュールのプロパティにすます。 ...続きを読む
私の個人的趣味では
標準モジュールはグローバルな定数定義と共通関数で使います。
グローバル変数は、標準モジュールは書きません
とゆうか 使いません。

共通で使用する変数はクラスモジュールのプロパティにすます。
お礼コメント
tariran

お礼率 62% (49/78)

ありがとうございました。
参考になりました。
投稿日時 - 2002-03-24 22:30:23
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ