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