List 6-24 Business.CustomerコンポーネントのGetCustomerメソッド
1: Public Sub GetCustomer(ByVal ID As Long, _
ByRef NAME As Variant, ByRef YOMIGANA As Variant, _
ByRef ZIP As Variant, ByRef ADDRESS As Variant, _
ByRef TELEPHONE As Variant, ByRef FAX As Variant, _
ByRef BILLDAY As Variant, ByRef MEMO As Variant, _
ByRef MADEUSER As Variant, ByRef MADEDATE As Variant, _
ByRef LASTUSER As Variant, ByRef LASTDATE As Variant)
2: ' 顧客情報テーブル内の指定された顧客情報を返す
3: ' 【引数】
4: ' ID = 読み出したい顧客を特定する顧客番号を指定する
5: ' NAME = 指定された顧客の顧客名が格納される
6: ' YOMIGANA = 指定された顧客の顧客名のよみがなが格納される
7: ' ZIP = 指定された顧客の郵便番号が格納される
8: ' ADDRESS = 指定された顧客の住所が格納される
9: ' TELEPHONE = 指定された顧客の電話番号が格納される
10: ' FAX = 指定された顧客のFAX番号が格納される
11: ' BILLDAY = 指定された顧客の請求の締め日が格納される
12: ' MEMO = 指定された顧客の摘要が格納される
13: ' MADEUSER = 指定された顧客を作成したユーザー名が格納される
14: ' MADEDATE = 指定された顧客が作成された日時が格納される
15: ' LASTUSER = 指定された顧客の最終更新ユーザー名が格納される
16: ' LASTDATE = 指定された顧客の最終更新日時が格納される
17: ' 【戻り値】
18: ' なし
19: Dim objContext As ObjectContext
20: Dim objDataCustomer As DataObj.Customer
21:
22: ' オブジェクトコンテキストの取得
23: Set objContext = GetObjectContext()
24:
25: ' エラーハンドラの設定
26: On Error GoTo ErrHandle
27:
28: ' DataObj.Customerコンポーネントの実体化
29: Set objDataCustomer = CreateObject("DataObj.Customer")
30:
31: ' 削除ずみであるかどうか
32: If objDataCustomer.IsDeleted(ID) = ID_Deleted Then
33: ' 削除ずみである
34: ' セキュリティ機能が有効か
35: If Not objContext.IsSecurityEnabled() Then
36: Err.Raise Err_NOSECURE, App.Title, _
"セキュリティ機構が無効です"
37: End If
38: ' SalesAdminロールまたはAllAdminロールに属しているか
39: If Not (objContext.IsCallerInRole("SalesAdmin") Or _
objContext.IsCallerInRole("AllAdmin")) Then
40: ' 属していない
41: Err.Raise DataObj.Err_NotFound, App.Title, _
"指定された顧客番号をもつ顧客が見つかりません"
42: End If
43: End If
44:
45: ' 顧客情報の取得
46: objDataCustomer.GetRecord ID, NAME, YOMIGANA, _
ZIP, ADDRESS, _
TELEPHONE, FAX, _
BILLDAY, MEMO, _
MADEUSER, MADEDATE, _
LASTUSER, LASTDATE
47:
48: ' DataObj.Customerの解放
49: Set objDataCustomer = Nothing
50:
51: ' コミットする
52: objContext.SetComplete
53:
54: ' オブジェクトコンテキストの解放
55: Set objContext = Nothing
56:
57: Exit Sub
58:
59: ErrHandle:
60: ' エラーハンドラ
61: objContext.SetAbort
62: Set objContext = Nothing
63: Set objDataCustomer = Nothing
64:
65: ' エラーの再発行
66: Err.Raise Err.Number, Err.Source, Err.Description, _
Err.HelpFile, Err.HelpContext
67: End Sub