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