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