List 6-137 DataObj.SlipコンポーネントのDeleteRecordメソッド
  1: Public Sub DeleteRecord(ByVal SlipID As Long)
  2:     ' 指定された伝票のレコードを削除する
  3:     ' 【引数】
  4:     '   SlipID = 削除したい伝票の伝票番号
  5:     ' 【戻り値】
  6:     '   なし
  7:     Dim objContext As ObjectContext
  8:     Dim objConn As ADODB.Connection
  9:     Dim userName As String, NowDate As Date
 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:     userName = objContext.Security.GetOriginalCallerName()
 23:     NowDate = Now()
 24:     
 25:     ' データベースと接続して,削除する
 26:     Set objConn = CreateObject("ADODB.Connection")
 27:     objConn.Open g_DBConnection
 28:     objConn.Execute "DELETE FROM 伝票情報 WHERE ID=" & SlipID
 29:     
 30:     ' データベースとの接続を遮断
 31:     objConn.Close
 32:     Set objConn = Nothing
 33:     
 34:     ' 履歴の追加
 35:     ' 本当にレコードが削除されたときには,履歴として-1という値を残すことにした
 36:     objHistory.AddHistory "伝票情報", "DELETEDFLAG", SlipID, -1, -1
 37:     Set objHistory = Nothing
 38:     
 39:     ' トランザクションのコミット
 40:     objContext.SetComplete
 41:     
 42:     ' オブジェクトコンテキストの解放
 43:     Set objContext = Nothing
 44: 
 45:     Exit Sub
 46:     
 47: ErrHandle:
 48:     ' エラーハンドラ
 49:     objContext.SetAbort
 50:     Set objContext = Nothing
 51:     Set objConn = Nothing
 52:     Set objHistory = Nothing
 53:     
 54:     ' エラーの再発行
 55:     Err.Raise Err.NUMBER, Err.Source, Err.Description, _
                   Err.HelpFile, Err.HelpContext
 56: End Sub