List 6-51 Business.CustomerコンポーネントのGetCustomersメソッド
1: Public Function GetCustomers() As ADODB.Recordset
2: ' 登録されている顧客の一覧をADODB.Recordsetオブジェクトとして返す
3: ' SalesAdminロールまたはAllAdminロールに属する場合には,すべての顧客を,
4: ' 属さない場合には,削除ずみの顧客を省いたものを返す
5: ' 【引数】
6: ' なし
7: ' 【戻り値】
8: ' すべての顧客を含むADODB.Recordsetオブジェクト
9: ' 戻り値となるADODB.Recordsetオブジェクトは読み取り専用の閉じたRecordset
10: Dim objContext As ObjectContext
11: Dim objDataCustomer As DataObj.Customer
12: Dim IncludeDeletedFlag As Boolean
13:
14: ' オブジェクトコンテキストの取得
15: Set objContext = GetObjectContext()
16:
17: ' エラーハンドラの設定
18: On Error GoTo ErrHandle
19:
20: ' DataObj.Customerコンポーネントの実体化
21: Set objDataCustomer = CreateObject("DataObj.Customer")
22:
23: ' GetRecodsメソッドを呼び出して顧客一覧を取得
24: If Not objContext.IsSecurityEnabled() Then
25: ' 削除ずみを含めない
26: IncludeDeletedFlag = False
27: Else
28: If objContext.IsCallerInRole("SalesAdmin") Or _
objContext.IsCallerInRole("AllAdmin") Then
29: ' 削除ずみを含める
30: IncludeDeletedFlag = True
31: Else
32: ' 削除ずみを含めない
33: IncludeDeletedFlag = False
34: End If
35: End If
36:
37: Set GetCustomers = objDataCustomer.GetRecords(IncludeDeletedFlag)
38:
39: ' DataObj.Customerの解放
40: Set objDataCustomer = Nothing
41:
42: ' コミットする
43: objContext.SetComplete
44:
45: ' オブジェクトコンテキストの解放
46: Set objContext = Nothing
47:
48: Exit Function
49:
50: ErrHandle:
51: ' エラーハンドラ
52: objContext.SetAbort
53: Set objContext = Nothing
54: Set objDataCustomer = Nothing
55:
56: ' エラーの再発行
57: Err.Raise Err.Number, Err.Source, Err.Description, _
Err.HelpFile, Err.HelpContext
58: End Function