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