List 6-71 Business.ProductコンポーネントのAddStorageメソッド
  1: Public Function AddStorage(ByVal WillDate As Variant, _
                                ByVal ProductID As Variant, _
                                ByVal Number As Variant, _
                                ByVal MEMO As Variant) As Long
  2:     ' 在庫情報テーブルの入庫予定レコードを加える
  3:     ' 【引数】
  4:     '   WillDate = 入庫の予定日
  5:     '   ProductID = 入庫製品を特定する製品番号
  6:     '   Number = 入庫予定数
  7:     '   MEMO = 摘要
  8:     ' 【戻り値】
  9:     '   登録した入庫を示すレコードのレコードID
 10:     Dim objContext As ObjectContext
 11:     Dim objDataStock As DataObj.STOCK
 12:     Dim objDataProduct As DataObj.Product
 13:     
 14:     ' オブジェクトコンテキストの取得
 15:     Set objContext = GetObjectContext()
 16:     
 17:     ' エラーハンドラの設定
 18:     On Error GoTo ErrHandle
 19:     
 20:     ' 数量が負でないことを確認
 21:     If Number < 0 Then
 22:         Err.Raise Errorcode.Err_NUMBER, App.Title, _
                       "数量が不正です"
 23:     End If
 24:     
 25:     ' DataObj.Stockコンポーネントの実体化
 26:     Set objDataStock = CreateObject("DataObj.Stock")
 27:     ' DataObj.Productコンポーネントの実体化
 28:     Set objDataProduct = CreateObject("DataObj.Product")
 29:     
 30:     ' 該当製品があるかどうかをチェック
 31:     If objDataProduct.IsDeleted(ProductID) <> ID_Exists Then
 32:         ' 製品が存在しない
 33:         Err.Raise Err_NotFound, App.Title, _
                       "指定された製品が見つかりません"
 34:     End If
 35:     
 36:     ' DataObj.Productの解放
 37:     Set objDataProduct = Nothing
 38:     
 39:     ' AddRecordメソッドを呼び出して登録
 40:     AddStorage = objDataStock.AddRecord(WillDate, ProductID, _
                                             Number, MEMO, Null)
 41:     
 42:     ' DataObj.Stockの解放
 43:     Set objDataStock = Nothing
 44:     
 45:     ' コミットする
 46:     objContext.SetComplete
 47:     
 48:     ' オブジェクトコンテキストの解放
 49:     Set objContext = Nothing
 50:     
 51:     Exit Function
 52: 
 53: ErrHandle:
 54:     ' エラーハンドラ
 55:     objContext.SetAbort
 56:     Set objContext = Nothing
 57:     Set objDataStock = Nothing
 58:     Set objDataProduct = Nothing
 59:     
 60:     AddStorage = -1
 61:     
 62:     ' エラーの再発行
 63:     Err.Raise Err.Number, Err.Source, Err.Description, _
                   Err.HelpFile, Err.HelpContext
 64: End Function