List 6-18 DataObj.UpdateRecord_BILLDAYメソッド
1: Public Sub UpdateRecord_BILLDAY(ByVal CUSTOMERID As Long, _
ByVal BILLDAY As Variant)
2: ' 顧客情報テーブル内の指定された顧客番号の締め日を変更する
3: ' 【引数】
4: ' CUSTOMERID = 変更したい顧客を特定する顧客番号を指定する
5: ' BILLDAY = 設定する顧客の締め日を指定する
6: ' 【戻り値】
7: ' なし
8: Dim objContext As ObjectContext
9: Dim objRec As ADODB.Recordset
10: Dim userName As String, NowDate As Date
11:
12: ' オブジェクトコンテキストの取得
13: Set objContext = GetObjectContext()
14:
15: ' エラーハンドラの設定
16: On Error GoTo ErrHandle
17:
18: ' ユーザー名と現在の時刻を取得
19: userName = objContext.Security.GetOriginalCallerName()
20: NowDate = Now()
21:
22: ' 与えられた引数が正しいかどうかをチェック
23: If (BILLDAY < 1) Or (BILLDAY > 31) Then
24: ' 締め日が不正
25: Err.Raise Errorcode.Err_BILLDAY, App.Title, _
"締め日は1〜31の範囲になければなりません"
26: End If
27:
28: ' データベースと接続して,指定された顧客の顧客情報を更新する
29: Set objRec = CreateObject("ADODB.Recordset")
30: objRec.Open "SELECT * FROM 顧客情報 WHERE ID=" & CUSTOMERID, _
g_DBConnection, adOpenKeyset, adLockPessimistic, adCmdText
31:
32: If objRec.EOF Then
33: Err.Raise Errorcode.Err_NotFound, App.Title, _
"指定された顧客番号をもつ顧客が見つかりません"
34: End If
35:
36: ' レコードの値を更新
37: objRec.Fields("BILLDAY").Value = BILLDAY
38: objRec.Fields("LASTUSER").Value = userName
39: objRec.Fields("LASTDATE").Value = NowDate
40: objRec.Update
41: ' データベースとの接続を閉じてレコードセットを解放
42: objRec.Close
43: Set objRec = Nothing
44:
45: ' コミットする
46: objContext.SetComplete
47:
48: ' オブジェクトコンテキストの解放
49: Set objContext = Nothing
50:
51: Exit Sub
52:
53: ErrHandle:
54: ' エラーハンドラ
55: objContext.SetAbort
56: Set objContext = Nothing
57: Set objRec = Nothing
58:
59: ' エラーの再発行
60: Err.Raise Err.Number, Err.Source, Err.Description, _
Err.HelpFile, Err.HelpContext
61: End Sub