List 6-172 DataObj.BillコンポーネントのAddRecordメソッド
1: Public Function AddRecord(ByVal CustomerID As Long, _
ByVal STARTDATE As Date, _
ByVal ENDDATE As Date, _
ByVal SUBTOTAL As Currency, _
ByVal TAX As Currency, _
ByVal TOTAL As Currency) As Long
2: ' 請求書テーブルに請求書のレコードを追加する
3: ' 【引数】
4: ' CUSTOMERID = 顧客の顧客番号
5: ' STARTDATE = 請求書に記載する集計期間の開始日(この日を含む)
6: ' ENDDATE = 請求書に記載する集計期間の終了日(この日を含む)
7: ' SUBTOTAL = 請求書に記載する小計
8: ' TAX = 請求書に記載する消費税額
9: ' TOTAL = 請求書に記載する合計額
10: ' 【戻り値】
11: ' 追加された請求書の請求書番号(IDフィールドの値)
12: Dim objContext As ObjectContext
13: Dim objRec As ADODB.Recordset
14: Dim userName As String, NowDate As Date
15:
16: ' オブジェクトコンテキストの取得
17: Set objContext = GetObjectContext()
18:
19: ' エラーハンドラの設定
20: On Error GoTo ErrHandle
21:
22: ' ユーザー名とその時点の時刻を取得
23: userName = objContext.Security.GetOriginalCallerName()
24: NowDate = Now()
25:
26: ' データベースと接続して,書き込み可能なレコードセットを得る
27: Set objRec = CreateObject("ADODB.Recordset")
28: objRec.Open "請求書情報", g_DBConnection, adOpenKeyset, _
adLockPessimistic, adCmdTable
29:
30: ' 新しいレコードを追加
31: objRec.AddNew
32:
33: ' レコードにデータを設定
34: objRec.Fields("CUSTOMERID").Value = CustomerID
35: objRec.Fields("STARTDATE").Value = STARTDATE
36: objRec.Fields("ENDDATE").Value = ENDDATE
37: objRec.Fields("MADEDATE").Value = NowDate
38: objRec.Fields("SUBMITDATE").Value = Null
39: objRec.Fields("PAIDFLAG").Value = False
40: objRec.Fields("SENDBILLFLAG").Value = False
41: objRec.Fields("SUBTOTAL").Value = SUBTOTAL
42: objRec.Fields("TAX").Value = TAX
43: objRec.Fields("TOTAL").Value = TOTAL
44: objRec.Fields("MEMO").Value = Null
45: objRec.Fields("SUBMITUSER").Value = Null
46: objRec.Fields("MADEUSER").Value = userName
47: objRec.Fields("LASTUSER").Value = userName
48: objRec.Fields("LASTDATE").Value = NowDate
49: objRec.Fields("DELETEDFLAG").Value = False
50:
51: ' データベースに反映
52: objRec.Update
53:
54: ' 作成した請求書の請求書番号を戻り値として設定する
55: AddRecord = objRec.Fields("ID").Value
56:
57: ' データベースとの接続を閉じてレコードセットを解放
58: objRec.Close
59: Set objRec = Nothing
60:
61: ' トランザクションのコミット
62: objContext.SetComplete
63:
64: ' オブジェクトコンテキストの解放
65: Set objContext = Nothing
66:
67: Exit Function
68:
69: ErrHandle:
70: ' エラーハンドラ
71: objContext.SetAbort
72:
73: Set objContext = Nothing
74: Set objRec = Nothing
75:
76: ' エラーの再発行
77: Err.Raise Err.Number, Err.Source, Err.Description, _
Err.HelpFile, Err.HelpContext
78: End Function