List 6-84 DataObj.StockコンポーネントのDeleteRecordメソッド
  1: Public Sub DeleteRecord(ByVal StockID As Long)
  2:     ' 在庫情報テーブル内の指定されたレコードを削除する
  3:     ' 【引数】
  4:     '   StockID = 削除したいレコードを特定する
  5:     '             レコードID(IDフィールドの値)
  6:     ' 【戻り値】
  7:     '   なし
  8:     Dim objContext As ObjectContext
  9:     Dim objConn As ADODB.Connection
 10:     Dim objHistory As DataObj.History
 11:     
 12:     ' オブジェクトコンテキストの取得
 13:     Set objContext = GetObjectContext()
 14:     
 15:     ' エラーハンドラの設定
 16:     On Error GoTo ErrHandle
 17:     
 18:     ' DataObj.Historyコンポーネントの実体化
 19:     Set objHistory = CreateObject("DataObj.History")
 20:     
 21:     ' データベースと接続して,削除する
 22:     Set objConn = CreateObject("ADODB.Connection")
 23:     objConn.Open g_DBConnection
 24:     objConn.Execute "DELETE FROM 在庫情報 WHERE ID=" & StockID
 25:     
 26:     ' データベースとの接続を閉じる
 27:     objConn.Close
 28:     Set objConn = Nothing
 29:     
 30:     ' 履歴の追加
 31:     ' 本当のレコードが削除されたときには,
 32:     ' 履歴として-1という値を残すことにした
 33:     objHistory.AddHistory "在庫情報", "DELETEDFLAG", StockID, -1, -1
 34:     Set objHistory = Nothing
 35:     
 36:     ' コミットする
 37:     objContext.SetComplete
 38:     
 39:     ' オブジェクトコンテキストの解放
 40:     Set objContext = Nothing
 41: 
 42:     Exit Sub
 43:     
 44: ErrHandle:
 45:     ' エラーハンドラ
 46:     objContext.SetAbort
 47:     Set objContext = Nothing
 48:     Set objConn = Nothing
 49:     Set objHistory = Nothing
 50:     
 51:     ' エラーの再発行
 52:     Err.Raise Err.NUMBER, Err.Source, Err.Description, _
                   Err.HelpFile, Err.HelpContext
 53: End Sub