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