HOME > 即効テクニック > AccessVBA > コーディング・デバッグ > クラスの作成2(プロパティの設定)

即効テクニック

コーディング・デバッグ

クラスの作成2(プロパティの設定)

(Access 97)
●概要●
クラスのプロパティを作成します。プロパティには設定が可能なものとプロパティの値が取得可能なものがありますが、ここでは設定が可能なプロパティを作成してみます。プロパティに値を設定するには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」を宣言していますが、これは外部のモジュールに対して内部データを隠蔽させています。つまり外部モジュールでからは直接内部データを覗けないようにしていることになります。