List 6-32 DataObj.CustomerコンポーネントのDeleteRecordメソッド
1: Public Sub DeleteRecord(ByVal CustomerID As Long)
2: ' 顧客情報テーブルから指定された顧客のレコードを削除する
3: ' 【引数】
4: ' ID = 削除したい顧客の顧客番号
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=" & CustomerID
29:
30: ' データベースとの接続を閉じる
31: objConn.Close
32: Set objConn = Nothing
33:
34: ' 履歴の追加
35: ' 本当にレコードが削除されたときには,履歴として-1を残すことにした
36: ' -1という値は適当。どのみち履歴はあとで人が見るだけなのでどんな値でもよいだろう
37: objHistory.AddHistory "顧客情報", "DELETEDFLAG", CustomerID, -1, -1
38: Set objHistory = Nothing
39:
40: ' コミットする
41: objContext.SetComplete
42:
43: ' オブジェクトコンテキストの解放
44: Set objContext = Nothing
45:
46: Exit Sub
47:
48: ErrHandle:
49: ' エラーハンドラ
50: objContext.SetAbort
51: Set objContext = Nothing
52: Set objConn = Nothing
53: Set objHistory = Nothing
54:
55: ' エラーの再発行
56: Err.Raise Err.Number, Err.Source, Err.Description, _
Err.HelpFile, Err.HelpContext
57: End Sub