即効テクニック |
●概要● クラスのプロパティを作成します。プロパティには設定が可能なものとプロパティの値が取得可能なものがありますが、ここでは設定が可能なプロパティを作成してみます。プロパティに値を設定するにはLetステートメントを使用します。ここではクラスの作成1で作成したメソッドの第2引数(配列のデータ数)を設定するプロパティを作成します。●サンプルコード●
Private intData As Integer Public Property Let DataNumber(ByVal DataNumber As Integer) intData = DataNumber End Property
●動作確認● 作成したプロパティは以下のように使用します。ここではレコードセットのデータ数が設定されます。
Sub Class_Sample2() Dim cn As New ADODB.Connection Dim rst As ADODB.Recordset Dim cls As Class1 Set cn = New ADODB.Connection cn.ConnectionString = _ "Provider=microsoft.jet.oledb.4.0;" & _ "Data Source=d:\NorthWind.mdb" cn.Open Set rst = New ADODB.Recordset rst.Source = "商品" rst.ActiveConnection = cn rst.CursorLocation = adUseClient rst.CursorType = adOpenDynamic rst.LockType = adLockOptimistic rst.Open Set cls = New Class1 cls.DataNumber = rst.RecordCount rst.Close cn.Close Set rst = Nothing Set cn = Nothing Set cls = Nothing End Sub
●補足● サンプルコードの宣言部にプライベート変数として「intData」を宣言していますが、これは外部のモジュールに対して内部データを隠蔽させています。つまり外部モジュールでからは直接内部データを覗けないようにしていることになります。