List 6-194 Business.SlipコンポーネントのGetBillSlipsメソッド
1: Public Function GetBillSlips(ByVal BillID As Long) _
As ADODB.Recordset
2: ' 指定された請求書に付随する伝票レコードをすべて返す
3: ' 【引数】
4: ' BillID = 伝票を取得したい請求書の請求書番号
5: ' 【戻り値】
6: ' 請求書に結び付けられたすべての伝票が含まれたADODB.Recordsetオブジェクト
7: Dim objContext As ObjectContext
8: Dim objDataBill As DataObj.Bill
9: Dim objDataSlip As DataObj.Slip
10:
11: ' オブジェクトコンテキストの取得
12: Set objContext = GetObjectContext()
13:
14: ' エラーハンドラの設定
15: On Error GoTo ErrHandle
16:
17: ' DataObj.Billコンポーネントの実体化
18: Set objDataBill = CreateObject("DataObj.Bill")
19:
20: ' 削除されているかどうか
21: If objDataBill.Get_BillStatus(BillID) = BILL_Deleted Then
22: Err.Raise Errorcode.Err_NOTFOUND, App.Title, _
"指定された請求書番号を持つ請求書が見つかりません"
23: End If
24:
25: ' DataObj.Slipコンポーネントの実体化
26: Set objDataSlip = CreateObject("DataObj.Slip")
27:
28: ' 伝票を取得し,戻り値とする
29: Set GetBillSlips = objDataSlip.GetRecordsByBillID(BillID)
30:
31: ' DataObj.Slipコンポーネントの解放
32: Set objDataSlip = Nothing
33:
34: ' DataObj.Billコンポーネントの解放
35: Set objDataBill = Nothing
36:
37: ' トランザクションのコミット
38: objContext.SetComplete
39:
40: ' オブジェクトコンテキストの解放
41: Set objContext = Nothing
42:
43: Exit Function
44:
45: ErrHandle:
46: ' エラーハンドラ
47: objContext.SetAbort
48:
49: Set objContext = Nothing
50: Set objDataBill = Nothing
51: Set objDataSlip = Nothing
52:
53: ' エラーの再発行
54: Err.Raise Err.Number, Err.Source, Err.Description, _
Err.HelpFile, Err.HelpContext
55: End Function