List 6-23 DataObj.CustomerコンポーネントのIsDeletedメソッド
  1: Public Enum DeletedFlag
  2:     ' レコードの状態を示す列挙型
  3:     ID_Exists = 0  ' 存在する
  4:     ID_Deleted = 1 ' 削除されている
  5:     ID_NotFound = 2    ' 存在しない
  6: End Enum
  7: 
  8: Public Function IsDeleted(ByVal CUSTOMERID As Long) As DeletedFlag
  9:     ' 指定された顧客番号をもつ顧客が削除ずみであるかどうかを調べる
 10:     ' 【引数】
 11:     '   CUSTOMERID = 調査する顧客番号
 12:     ' 【戻り値】
 13:     '   指定された顧客番号の顧客が削除されていればID_Deleted,
 14:     '   存在すればID_Exists,存在しなければID_NotFoundを返す
 15:     Dim objContext As ObjectContext
 16:     Dim objConn As ADODB.Connection
 17:     Dim objRec As ADODB.Recordset
 18:     
 19:     ' オブジェクトコンテキストの取得
 20:     Set objContext = GetObjectContext()
 21:     
 22:     ' エラーハンドラの設定
 23:     On Error GoTo ErrHandle
 24:     
 25:     ' データベースに接続して,指定された顧客が存在するかどうかを調べる
 26:     Set objConn = CreateObject("ADODB.Connection")
 27:     objConn.Open g_DBConnection
 28:     Set objRec = objConn.Execute( _
                        "SELECT DELETEDFLAG FROM 顧客情報 WHERE ID=" & _
                        CUSTOMERID)
 29:     
 30:     If objRec.EOF Then
 31:         ' 指定された顧客はいない
 32:         IsDeleted = ID_NotFound
 33:     Else
 34:         If objRec.Fields("DELETEDFLAG").Value = True Then
 35:             ' 顧客は削除されている
 36:             IsDeleted = ID_Deleted
 37:         Else
 38:             ' 顧客は削除されていない
 39:             IsDeleted = ID_Exists
 40:         End If
 41:         objRec.Close
 42:     End If
 43:     
 44:     ' データベースとの接続を閉じてレコードセットを解放
 45:     Set objRec = Nothing
 46:     objConn.Close
 47:     Set objConn = Nothing
 48:     
 49:     ' コミットする
 50:     objContext.SetComplete
 51:     
 52:     ' オブジェクトコンテキストの解放
 53:     Set objContext = Nothing
 54:     
 55:     Exit Function
 56: 
 57: ErrHandle:
 58:     ' エラーハンドラ
 59:     objContext.SetAbort
 60:     Set objContext = Nothing
 61:     Set objConn = Nothing
 62:     Set objRec = Nothing
 63:     
 64:     ' エラーの再発行
 65:     Err.Raise Err.Number, Err.Source, Err.Description, _
                   Err.HelpFile, Err.HelpContext
 66: End Function