Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3326 / 9994 ←次へ | 前へ→

【9929】Re:GO TO文?CALL文?題名がよくわからないのですが?
回答  小僧  - 07/10/19(金) 15:42 -

引用なし
パスワード
   ▼TO さん:
こんにちは。

>モジュールで同じ処理複数使用する場合

返り値が必要な場合は Function プロシジャ、
必要ない場合は Sub プロシジャ を使って処理する事になります。

変数については参照渡しで引き渡してあげるか
広域的に宣言するかのどちらかになりそうですね。


また、呼び出し元についても
A) 必ず 1つのモジュール(やフォーム)でのみ使われるのか

B) 複数のモジュール(やフォーム)から呼び出す事があるのか

によって宣言が変わりますね。


汎用性がある様に複数のモジュールから呼ばれる可能性があるとすると

標準モジュールに

Public Sub 変数に1を足す(AA As Long, BB As Long, CC As Long)
  AA = AA + 1
  BB = BB + 1
  CC = CC + 1
End Sub


フォーム側に

Private Sub コマンド0_Click()
Dim A As Long
Dim B As Long
Dim C As Long


  A = 1
  B = 2
  C = 3
  
  Call 変数に1を足す(A, B, C)
  
  MsgBox "A:" & A & vbCrLf _
     & "B:" & B & vbCrLf _
     & "C:" & C & vbCrLf
  
End Sub


とすると、1 を足された数値が返ってくるかと思われます。


変数自体を Public宣言する方法もありますが、

MSサポートオンラインより
[VBA] Public 宣言された変数の有効期間

h tp://support.microsoft.com/kb/408871/ja

(こちらの掲示板は直リンクが禁止ですので、補完してください。)


あまり推奨された方法ではないかもしれません。
715 hits

【9928】GO TO文?CALL文?題名がよくわからないのですが? TO 07/10/19(金) 11:50 質問[未読]
【9929】Re:GO TO文?CALL文?題名がよくわから... 小僧 07/10/19(金) 15:42 回答[未読]
【9930】Re:GO TO文?CALL文?題名がよくわから... TO 07/10/19(金) 15:56 お礼[未読]
【9931】Re:GO TO文?CALL文?題名がよくわから... Gin_II 07/10/20(土) 5:44 回答[未読]

3326 / 9994 ←次へ | 前へ→
ページ:  ┃  記事番号:
1078201
(SS)C-BOARD v3.8 is Free