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