List 6-186 Business.BillコンポーネントのGetBillsメソッド
1: Public Function GetBills(ByVal CustomerID As Variant, _
ByVal Status As FILTER_BILL, _
ByVal start_MADEDATE As Variant, _
ByVal end_MADEDATE As Variant, _
ByVal start_SUBMITDATE As Variant, _
ByVal end_SUBMITDATE As Variant) _
As ADODB.Recordset
2: ' 指定された条件に合致する請求書の一覧を返す
3: ' 【引数】
4: ' CustomerID
5: ' 顧客による絞り込みをするときの顧客番号。
6: ' Nullが指定されたときには顧客による絞り込みなし。
7: ' Status
8: ' 請求書の情報による絞り込み。FILTER_BILL列挙型の組み合わせ。
9: ' FILTER_BILL_ALLのときにはすべての請求書。
10: ' start_MADEDATE
11: ' 請求書作成日による絞り込みの開始日(この日を含む)。
12: ' Nullのときには絞り込みなし。
13: ' end_MADEDATE
14: ' 請求書作成日による絞り込みの終了日(この日を含む)。
15: ' Nullのときには絞り込みなし。
16: ' start_SUBMITDATE
17: ' 入金確認日による絞り込みの開始日(この日を含む)。
18: ' Nullのときには絞り込みなし。
19: ' end_SUBMITDATE
20: ' 入金管理日による絞り込みの終了日(この日を含む)。
21: ' Nullのときには絞り込みなし。
22: ' 【戻り値】
23: ' 条件に合致する請求書一覧を含むADODB.Recordsetオブジェクト
24: ' 戻り値となるADODB.Recordsetオブジェクトは読み取り専用の閉じたRecordset
25: Dim objContext As ObjectContext
26: Dim objDataBill As DataObj.Bill
27:
28: ' オブジェクトコンテキストの取得
29: Set objContext = GetObjectContext()
30:
31: ' エラーハンドラの設定
32: On Error GoTo ErrHandle
33:
34: ' ロールを調べ,AccountingAdminロールやAllAdminロールに属していなければ
35: ' 削除ずみの請求書は参照させない
36: If Not objContext.IsSecurityEnabled() Then
37: ' セキュリティ設定が無効
38: Err.Raise Err_NOSECURE, App.Title, _
"セキュリティ機構が無効です"
39: End If
40:
41: If Not (objContext.IsCallerInRole("AllAdmin") Or _
objContext.IsCallerInRole("AccountingAdmin")) Then
42: ' Accountingロールに属していなければ操作させない
43: If Not objContext.IsCallerInRole("Accounting") Then
44: Err.Raise Err_NOSECURE, App.Title, _
"参照権限がありません"
45: End If
46: ' 削除ずみの請求書は参照させない
47: Status = Status And (Not FILTER_BILL_DELETED)
48: End If
49:
50: ' DataObj.Billコンポーネントの実体化
51: Set objDataBill = CreateObject("DataObj.Bill")
52:
53: ' 請求書一覧を取得し,戻り値とする
54: Set GetBills = objDataBill.GetRecords(CustomerID, Status, _
start_MADEDATE, end_MADEDATE, _
start_SUBMITDATE, end_SUBMITDATE)
55:
56: ' DataObj.Billコンポーネントの解放
57: Set objDataBill = Nothing
58:
59: ' トランザクションのコミット
60: objContext.SetComplete
61:
62: ' オブジェクトコンテキストの解放
63: Set objContext = Nothing
64:
65: Exit Function
66:
67: ErrHandle:
68: ' エラーハンドラ
69: objContext.SetAbort
70: Set objContext = Nothing
71: Set objDataBill = Nothing
72:
73: ' エラーの再発行
74: Err.Raise Err.Number, Err.Source, Err.Description, _
Err.HelpFile, Err.HelpContext
75: End Function