List 6-131 Business.SlipコンポーネントのGetSlipDetailsメソッド
  1: Public Function GetSlipDetails(ByVal SlipID As Long) As ADODB.Recordset
  2:     ' 指定された伝票に付随する明細レコードをすべて返す
  3:     ' 【引数】
  4:     '   SlipID = 明細を取得したい伝票の伝票番号
  5:     ' 【戻り値】
  6:     '   伝票に結び付けられたすべての明細が含まれたADODB.Recordsetオブジェクト
  7:     Dim objContext As ObjectContext
  8:     Dim objDataSlip As DataObj.Slip, objDataSlipDetail As DataObj.SlipDetail
  9:     Dim SlipStatus As DataObj.SlipStatus
 10:     Dim IsDeleted As DataObj.DELETEDFLAG
 11:     
 12:     ' オブジェクトコンテキストの取得
 13:     Set objContext = GetObjectContext()
 14:     
 15:     ' エラーハンドラの設定
 16:     On Error GoTo ErrHandle
 17:     
 18:     ' DataObj.Slipコンポーネントの実体化
 19:     Set objDataSlip = CreateObject("DataObj.Slip")
 20:     
 21:     ' 削除されているかどうかを取得
 22:     IsDeleted = objDataSlip.IsDeleted(SlipID)
 23:     
 24:     ' 伝票の状態を取得
 25:     SlipStatus = objDataSlip.Get_SlipStatus(SlipID)
 26:     
 27:     ' 参照権限があるかどうか
 28:     Chk_View objContext, IsDeleted, SlipStatus
 29: 
 30:     ' DataObj.SlipDetailコンポーネントの実体化
 31:     Set objDataSlipDetail = CreateObject("DataObj.SlipDetail")
 32:     
 33:     ' 明細を取得し,戻り値とする
 34:     Set GetSlipDetails = objDataSlipDetail.GetRecords(SlipID)
 35:     
 36:     ' DataObj.SlipDetailコンポーネントの解放
 37:     Set objDataSlipDetail = Nothing
 38:     
 39:     ' DataObj.Slipコンポーネントの解放
 40:     Set objDataSlip = 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 objDataSlip = Nothing
 55:     
 56:     ' エラーの再発行
 57:     Err.Raise Err.NUMBER, Err.Source, Err.Description, _
                   Err.HelpFile, Err.HelpContext
 58: End Function