List 6-179 DataObj.BillコンポーネントのGetRecordメソッド
1: Public Sub GetRecord(ByVal BillID As Long, _
ByRef CustomerID As Variant, ByRef STARTDATE As Variant, _
ByRef ENDDATE As Variant, ByRef SUBTOTAL As Variant, _
ByRef TAX As Variant, ByRef TOTAL As Variant, _
ByRef SENDBILLFLAG As Variant, _
ByRef PAIDFLAG As Variant, ByRef SUBMITUSER As Variant, _
ByRef SUBMITDATE As Variant, ByRef MEMO As Variant, _
ByRef MADEUSER As Variant, ByRef MADEDATE As Variant, _
ByRef LASTUSER As Variant, ByRef LASTDATE As Variant)
2: ' 請求書情報テーブル内の指定された請求書番号の請求書情報を返す
3: ' 【引数】
4: ' BillID = 情報を読み出したい請求書の請求書番号
5: ' CUSTOMERID = 請求書の取引先となっている顧客番号が格納される
6: ' STARTDATE = 請求書の期間の開始日が格納される
7: ' ENDDATE = 請求書の期間の終了日が格納される
8: ' SUBTOAL = 請求書の小計(税抜き額)が格納される
9: ' TAX = 請求書の消費税額が格納される
10: ' TOTAL = 請求書の合計(税込み額)が格納される
11: ' SENDBILLFLAG = 請求書が送付ずみであればTrue,そうでなければFalseが
12: ' 格納される
13: ' PAIDFLAG = 請求書が入金ずみであればTrue,そうでなければFalseが
14: ' 格納される
15: ' SUBMITUSER = 入金を確認したユーザーのアカウント名が格納される
16: ' 未入金であればNull
17: ' SUBMITDATE = 請求書の入金を確認した日時が格納される
18: ' 未入金であればNull
19: ' MADEUSER = 請求書を作成したユーザー名が格納される
20: ' MADEDATE = 請求書が作成された日時が格納される
21: ' LASTUSER = 請求書の最終更新ユーザー名が格納される
22: ' LASTDATE = 請求書の最終更新日時が格納される
23: ' 【戻り値】
24: ' なし
25: Dim objContext As ObjectContext
26: Dim objRec As ADODB.Recordset
27:
28: ' オブジェクトコンテキストの取得
29: Set objContext = GetObjectContext()
30:
31: ' エラーハンドラの設定
32: On Error GoTo ErrHandle
33:
34: ' 指定された請求書番号の請求書情報を取得
35: Set objRec = CreateObject("ADODB.Recordset")
36: objRec.Open "SELECT * FROM 請求書情報 WHERE ID=" & BillID, _
g_DBConnection, adOpenForwardOnly, adLockReadOnly, adCmdText
37:
38: If objRec.EOF Then
39: Err.Raise Errorcode.Err_NOTFOUND, App.Title, _
"指定された請求書番号を持つ請求書が見つかりません"
40: End If
41:
42: ' 取得したデータを戻り値に設定
43: CustomerID = objRec.Fields("CUSTOMERID").Value
44: STARTDATE = objRec.Fields("STARTDATE").Value
45: ENDDATE = objRec.Fields("ENDDATE").Value
46: SUBTOTAL = objRec.Fields("SUBTOTAL").Value
47: TAX = objRec.Fields("TAX").Value
48: TOTAL = objRec.Fields("TOTAL").Value
49: SENDBILLFLAG = objRec.Fields("SENDBILLFLAG").Value
50: PAIDFLAG = objRec.Fields("PAIDFLAG").Value
51: SUBMITUSER = objRec.Fields("SUBMITUSER").Value
52: SUBMITDATE = objRec.Fields("SUBMITDATE").Value
53: MEMO = objRec.Fields("MEMO").Value
54: MADEUSER = objRec.Fields("MADEUSER").Value
55: MADEDATE = objRec.Fields("MADEDATE").Value
56: LASTUSER = objRec.Fields("LASTUSER").Value
57: LASTDATE = objRec.Fields("LASTDATE").Value
58:
59: ' データベースとの接続を閉じてレコードセットを解放
60: objRec.Close
61: Set objRec = Nothing
62:
63: ' トランザクションのコミット
64: objContext.SetComplete
65:
66: ' オブジェクトコンテキストの解放
67: Set objContext = Nothing
68:
69: Exit Sub
70:
71: ErrHandle:
72: ' エラーハンドラ
73: objContext.SetAbort
74:
75: Set objContext = Nothing
76: Set objRec = Nothing
77:
78: ' エラーの再発行
79: Err.Raise Err.Number, Err.Source, Err.Description, _
Err.HelpFile, Err.HelpContext
80: End Sub