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