List 6-136 DataObj.SlipコンポーネントのSetDeletedFlagメソッド
1: Public Sub SetDeletedFlag(ByVal SlipID As Long, _
ByVal DELETEDFLAG As Boolean)
2: ' 指定された伝票のDELETEDFLAGフィールドの値を変更する
3: ' 【引数】
4: ' SlipID = DELETEDFLAGフィールドを設定したい伝票の伝票番号
5: ' DELETEDFLAG = 設定するDELETEDFLAGフィールドの値
6: ' 【戻り値】
7: ' なし
8: Dim objContext As ObjectContext
9: Dim objRec As ADODB.Recordset
10: Dim userName As String, NowDate As Date
11: Dim objHistory As DataObj.History
12:
13: ' オブジェクトコンテキストの取得
14: Set objContext = GetObjectContext()
15:
16: ' エラーハンドラの設定
17: On Error GoTo ErrHandle
18:
19: ' DataObj.Historyコンポーネントの実体化
20: Set objHistory = CreateObject("DataObj.History")
21:
22: ' ユーザー名とその時点の時刻を取得
23: userName = objContext.Security.GetOriginalCallerName()
24: NowDate = Now()
25:
26: ' データベースと接続して,書き込み可能なレコードセットを取得
27: Set objRec = CreateObject("ADODB.Recordset")
28: objRec.Open "SELECT LASTUSER, LASTDATE, DELETEDFLAG FROM 伝票情報 WHERE ID=" & SlipID, _
g_DBConnection, adOpenKeyset, adLockPessimistic, adCmdText
29:
30: If objRec.EOF Then
31: Err.Raise Errorcode.Err_NOTFOUND, App.Title, _
"指定された伝票番号を持つ伝票が見つかりません"
32: End If
33:
34: ' レコードの値を更新
35: If objRec.Fields("DELETEDFLAG").Value <> DELETEDFLAG Then
36: objHistory.AddHistory "伝票情報", "DELETEDFLAG", SlipID, _
objRec.Fields("DELETEDFLAG").Value, DELETEDFLAG
37: objRec.Fields("DELETEDFLAG").Value = DELETEDFLAG
38: End If
39:
40: objRec.Fields("LASTUSER").Value = userName
41: objRec.Fields("LASTDATE").Value = NowDate
42:
43: objRec.Update
44:
45: ' データベースとの接続を閉じてレコードセットを解放
46: objRec.Close
47: Set objRec = Nothing
48:
49: ' DataObj.Historyオブジェクトの解放
50: Set objHistory = Nothing
51:
52: ' トランザクションのコミット
53: objContext.SetComplete
54:
55: ' オブジェクトコンテキストの解放
56: Set objContext = Nothing
57:
58: Exit Sub
59:
60: ErrHandle:
61: ' エラーハンドラ
62: objContext.SetAbort
63: Set objContext = Nothing
64: Set objRec = Nothing
65: Set objHistory = Nothing
66:
67: ' エラーの再発行
68: Err.Raise Err.NUMBER, Err.Source, Err.Description, _
Err.HelpFile, Err.HelpContext
69: End Sub