VB类Class设计

Private Sub Class_Initialize()

'load

' Indicate the the database is not yet open

mblnRecSetOpen = False

' Clear all object variables

Call ClearObject

End Sub

Private Sub Class_Terminate()

'unload

' We don't really care about errors when cleaning up.

On Error Resume Next

' Close the recordset

mrecExpense.Close

' Close the expense database

mdbExpense.Close

' Reset the error handler

On Error GoTo 0

Exit Sub

End Sub

'属性

Public Property Let strEmployeeId(ByVal vData As String)

'used when assigning a value to the property, on the left side of an assignment.

'Syntax: X.strEmployeeId = 5

mvarstrEmployeeId = vData

End Property

Public Property Get strEmployeeId() As String

'used when retrieving value of a property, on the right side of an assignment.

'Syntax: Debug.Print X.strEmployeeId

strEmployeeId = mvarstrEmployeeId

End Property

'方法

Public Function MoveLast() As String

' Retrieve the last record

On Error GoTo MoveError

With mrecExpense

If True = .BOF _

And True = .EOF Then

' Empty recordset

MoveLast = "EOF"

Else

' Move to the last record

.MoveLast

Call GetRecordset(mrecExpense)

MoveLast = "OK"

End If

End With

Exit Function

MoveError:

' Return the error description

MoveLast = Err.Description

Err.Clear

Exit Function

End Function

Private Sub SetRecordset(recExp As Recordset)

' Copies current values to Recordset

With recExp

!EmployeeId = mvarstrEmployeeId

!ExpenseType = mvarstrExpenseType

!AmountSpent = mvarcurAmountSpent

!Description = mvarstrDescription

!DatePurchased = mvardtmDatePurchased

!DateSubmitted = mvardtmDateSubmitted

End With

End Sub