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