Microsoft Access Club Access超初心者対象Forum Access初級者対象Forum Access初・中級者対象Forum Access VBA Tips Forum DAO、ADO、SQL Forum

     

リストへもどる

投稿記事の一括表示

タイトルフォーム全体をモジュールに渡す
記事No16665
投稿日: 2011/05/09(Mon) 23:12
投稿者boolean
解決済: ON
OS:windows xp
Access Version:2002

複数のほぼ同一のコントロールを持つフォームのイベントプロシャーの集約を目論んでいます。

フォームのイベントハンドラに フォーム自身を意味する me を含めた関数を作成し、モジュール側でそのフォームを参照として受け取り処理を行なうような記述は一般的に可能でしょうか。

例えば、フォーム側のopen イベントに

call testfunction(me)

モジュール側で、

function testfunction(byref oform as form)
 oform.あるコントロール.あるプロパティ = true

.... みたいな記述が続く

end function


上のような記述方法でかなり記述を進めていて、現在の所問題は起こってないのですが、
ネット上の情報でも、書籍のサンプルでも見たことがない我流のもののような気がしています。
このような書き方は一般的に可能なのでしょうか。

タイトルRe: フォーム全体をモジュールに渡す
記事No16666
投稿日: 2011/05/10(Tue) 01:34
投稿者hatena
解決済: ON
> 例えば、フォーム側のopen イベントに
> 
> call testfunction(me)
> 
> モジュール側で、
> 
> function testfunction(byref oform as form)
>  oform.あるコントロール.あるプロパティ = true  
> 
> .... みたいな記述が続く
> 
> end function
> 
> 
> 上のような記述方法でかなり記述を進めていて、現在の所問題は起こってないのですが、
> ネット上の情報でも、書籍のサンプルでも見たことがない我流のもののような気がしています。
> このような書き方は一般的に可能なのでしょうか。

まったく問題ないと思います。

別案として、CodeContextObject を使うという方法もあります。
こちらだと、Me を CodeContextObject に置き換えるだけです。
引数は必用有りません。


function testfunction()
    With CodeContextObject 
        .あるコントロール.あるプロパティ = true  

.... みたいな記述が続く
    End With
end function


下記を参照ください。

標準モジュールで「Meキーワードの使用方法が不正です」
http://hatenachips.blog34.fc2.com/blog-entry-297.html

タイトルRe^2: フォーム全体をモジュールに渡す 御礼
記事No16667
投稿日: 2011/05/10(Tue) 09:47
投稿者boolean
解決済: ON
>
> まったく問題ないと思います。
>
> 別案として、CodeContextObject を使うという方法もあります。
> こちらだと、Me を CodeContextObject に置き換えるだけです。
> 引数は必用有りません。
>
>
> 下記を参照ください。
>
> 標準モジュールで「Meキーワードの使用方法が不正です」
> http://hatenachips.blog34.fc2.com/blog-entry-297.html

さっそくのご意見ありがとうございました。

使い回すということは、後での修正が広範囲に渡りますので、先に進む前に確認しておきたいと思いました。別案も含めて参考にしつつ先に進みたいと思います。

- 以下のフォームから自分の投稿記事を修正・削除することができます -
処理 記事No パスワード

ページの先頭へ 前ページへ戻る