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