List 6-81 Business.ProductコンポーネントのUpdateStorageメソッド
  1: Public Sub UpdateStorage(ByVal StockID As Long, _
                              ByVal WillDate As Variant, _
                              ByVal ProductID As Variant, _
                              ByVal NUMBER As Variant, _
                              ByVal MEMO As Variant)
  2:     ' 在庫情報テーブルの指定された入庫予定を変更する
  3:     ' 【引数】
  4:     '   StockID = 設定したいレコードを特定するレコードID(IDフィールドの値)
  5:     '   WillDate = 入庫や出庫の予定日
  6:     '   ProductID = 入庫や出庫となる製品を特定する製品番号
  7:     '   Number = 入庫または出庫数
  8:     '   MEMO = 摘要
  9:     ' 【戻り値】
 10:     '   なし
 11:     Dim objContext As ObjectContext
 12:     Dim objDataStock As DataObj.STOCK
 13:     
 14:     ' オブジェクトコンテキストの取得
 15:     Set objContext = GetObjectContext()
 16:     
 17:     ' エラーハンドラの設定
 18:     On Error GoTo ErrHandle
 19:     
 20:     ' DataObj.Stockコンポーネントの実体化
 21:     Set objDataStock = CreateObject("DataObj.Stock")
 22:     
 23:     ' 対象となる伝票が入庫ずみでないことを確認
 24:     If objDataStock.IsDue(StockID) <> STOCK_NODUE Then
 25:         Err.Raise BusinessError.ERR_CANTACCESS, App.Title, _
                       "指定された入庫予定は存在しないか施行ずみです"
 26:     End If
 27:     
 28:     ' 出庫でないことを確認
 29:     If Not objDataStock.InStock(StockID) Then
 30:         Err.Raise BusinessError.ERR_CANTACCESS, App.Title, _
                       "出庫予定を操作することはできません"
 31:     End If
 32:     
 33:     ' 入庫予定の更新
 34:     objDataStock.UpdateRecord StockID, WillDate, _
                                   ProductID, NUMBER, MEMO, Null
 35:     
 36:     ' DataObj.Stockの解放
 37:     Set objDataStock = Nothing
 38:     
 39:     ' コミットする
 40:     objContext.SetComplete
 41:     
 42:     ' オブジェクトコンテキストの解放
 43:     Set objContext = Nothing
 44:     
 45:     Exit Sub
 46: 
 47: ErrHandle:
 48:     ' エラーハンドラ
 49:     objContext.SetAbort
 50:     Set objContext = Nothing
 51:     Set objDataStock = Nothing
 52:     
 53:     ' エラーの再発行
 54:     Err.Raise Err.NUMBER, Err.Source, Err.Description, _
                   Err.HelpFile, Err.HelpContext
 55: End Sub