List 6-94 Business.SlipコンポーネントのAddSlipメソッド
1: Public Function AddSlip(ByVal CustomerID As Variant, _
ByVal ONEBILLFLAG As Variant, _
ByVal DIVISION As Variant, _
ByVal PERSON As Variant, _
ByVal DELIVERDATE As Variant, _
ByVal SENT_ADDR As Variant, _
ByVal SENT_TEL As Variant, _
ByVal MEMO As Variant) As Long
2: ' 伝票を新規作成する
3: ' 【引数】
4: ' CustomerID = 対象となる顧客を示す顧客番号
5: ' ONEBILLFLAG = この伝票に対して1枚の請求書を作るならばTrue,
6: ' 別の伝票と月ごとにまとめてしまうならばFalse
7: ' DIVISION = 顧客側の部署名
8: ' PERSON = 顧客側の担当者名
9: ' DELIVERDATE = 納入予定日
10: ' SENT_ADDR = 発送先の住所
11: ' SENT_TEL = 発送先の電話番号
12: ' MEMO = 摘要
13: ' 【戻り値】
14: ' 追加した伝票を示す伝票番号(伝票のレコードID)
15: Dim objContext As ObjectContext
16: Dim objDataSlip As DataObj.Slip, objDataSlipInformation As DataObj.SlipInformation
17: Dim objDataCustomer As DataObj.Customer
18: Dim SlipID As Long
19:
20: ' オブジェクトコンテキストを取得する
21: Set objContext = GetObjectContext()
22:
23: ' エラーハンドラを設定する
24: On Error GoTo ErrHandle
25:
26: ' 顧客の存在を確認する
27: ' DataObj.Customerコンポーネントの実体化
28: Set objDataCustomer = CreateObject("DataObj.Customer")
29: If objDataCustomer.IsDeleted(CustomerID) <> ID_Exists Then
30: ' 顧客がいない
31: Err.Raise Errorcode.Err_CUSTOMERID, App.Title, _
"指定された顧客は存在しません"
32: End If
33:
34: ' 伝票を追加する
35: Set objDataSlip = CreateObject("DataObj.Slip")
36: SlipID = objDataSlip.AddRecord(CustomerID, ONEBILLFLAG)
37:
38: ' 伝票追加情報を追加する
39: Set objDataSlipInformation = CreateObject("DataObj.SlipInformation")
40: objDataSlipInformation.AddRecord SlipID, DIVISION, PERSON, DELIVERDATE, _
SENT_ADDR, SENT_TEL, MEMO
41:
42: ' トランザクションをコミット
43: objContext.SetComplete
44:
45: ' コンポーネントを解放する
46: Set objDataSlipInformation = Nothing
47: Set objDataSlip = Nothing
48: Set objDataCustomer = Nothing
49:
50: ' オブジェクトコンテキストを解放する
51: Set objContext = Nothing
52:
53: ' 戻り値を設定する
54: AddSlip = SlipID
55:
56: Exit Function
57:
58: ErrHandle:
59: ' エラーハンドラ
60: objContext.SetAbort
61: Set objContext = Nothing
62: Set objDataCustomer = Nothing
63: Set objDataSlip = Nothing
64: Set objDataSlipInformation = Nothing
65: AddSlip = -1
66:
67: ' エラーの再発行
68: Err.Raise Err.NUMBER, Err.Source, Err.Description, _
Err.HelpFile, Err.HelpContext
69: End Function