| 
    
     |  | ▼ようたん さん: こんにちは。
 
 >実行するのは、フォームMainFormのボタンを押すとフォームSubForm
 >が表示され、SubFormのTextBoxに数値を入力し同フォームのボタン
 >を押すとそのフォームが閉じてMainFormのTextBoxにSubFormから値が
 >渡されて表示されるという動作です。
 
 >以下TagプロパティとPropertyプロシージャを使った2例のうちで
 >それともどちらでも問題がないものなのでしょうか?
 
 作動しているという事なら、どちらも問題がないですが、
 厳密にみると・・・、
 
 私なら、Tagプロパティを使ったコードですかねえ・・・。
 
 これは、Tagプロパティを使っているから良いとか、
 Propertyプロシージャを使うことがNG 等と言うことではありません。
 
 本当は、
 
 SubForm.show myChk
 
 とShowメソッドでパラメータ渡しが出来たら ベストですよね?
 
 これが出来ないから、ここの手続きを出来る限り明確に且つ、汎用的に
 定義するべきだ という立場として意見ですが、
 
 2のPropertyプロシージャを使った例では、
 
 Private Sub CommandButton1_Click()
 
 MainForm.atai = TextBox1.Text
 
 Unload Me
 
 End Sub
 
 とSubformの出力データの以降先がMainForm.atai と固定された手続きになってしまい、
 汎用性が1に比べると劣るように思えました。
 
 上記の理由ですから、Propertyプロシージャを使う、使わないの問題ではないです。
 
 
 尚、1に関しても
 
 Private Sub CommandButton1_Click( )
 
 Dim myChk As String
 
 With SubForm
 .Show
 myChk = .Textbox1.Text
 End With
 
 Unload SubForm
 
 If IsNumeric(myChk) Then
 TextBox1.Text = myChk
 End If
 
 End Sub
 
 では、問題があるのでしょうかねえ!!
 Tagというプロパティで中身が想像しやすいなら、これでも良いですけどね!!
 
 
 以上、気が付いた点です、というより、ざっとみた感想です。
 
 
 >
 >1、Tag の例
 >
 > MainForm ///////////////////////////////
 >
 > Private Sub CommandButton1_Click( )
 >
 >   Dim myChk As String
 >
 >   With SubForm
 >     .Show
 >     myChk = .Tag
 >   End With
 >
 >   Unload SubForm
 >
 >   If IsNumeric(myChk) Then
 >     TextBox1.Text = myChk
 >   End If
 >
 > End Sub
 >
 > SubForm ///////////////////////////////
 >
 > Private Sub CommandButton1_Click( )
 >
 >   With Me
 >     .Tag = TextBox1.Text
 >    . Hide
 >   End With
 >
 > End Sub
 >
 >
 >1、Property の例
 >
 > MainForm ///////////////////////////////
 >
 > Dim myChk As String
 >
 >
 > Public Property Let atai(ByVal newdata As String)
 >
 >   myChk = newdata
 >
 > End Property
 >
 > Private Sub CommandButton1_Click()
 >
 >   SubForm.Show
 >
 >   If IsNumeric(myChk) Then
 >     TextBox1.Text = myChk
 >   End If
 >
 > End Sub
 >
 > SubForm ///////////////////////////////
 >
 > Private Sub CommandButton1_Click()
 >
 >   MainForm.atai = TextBox1.Text
 >
 >   Unload Me
 >
 > End Sub
 
 
 |  |