List 7-7 FormEditCustomerフォームのForm_Loadプロシージャ


  1: Private g_uRole As Business.USERROLE
  2: Private Sub Form_Load()
  3:     ' フォームがロードされたとき
  4:     ' ユーザーの権限によって,一部のテキストボックスを
  5:     ' 有効にしたり無効にしたりする
  6:     Dim objUtility As Business.Utility
  7:     Dim enableFlag As Boolean
  8:     
  9:     On Error GoTo ErrHandle
 10:     
 11:     Set objUtility = CreateObject("Business.Utility")
 12:     
 13:     ' ユーザーのロールを取得する
 14:     g_uRole = objUtility.GetUserInRole()
 15:     
 16:     If g_uRole And (ROLE_ALLADMIN Or ROLE_SALES Or _
                             ROLE_SALESADMIN Or ROLE_SALESMANAGER Or _
                             ROLE_ACCOUNTING Or ROLE_ACCOUNTINGADMIN) Then
 17:         ' 編集が可能
 18:         enableFlag = True
 19:     Else
 20:         ' 編集不可
 21:         enableFlag = False
 22:     End If
 23:     
 24:     TXT_YOMIGANA.Enabled = enableFlag
 25:     TXT_CUSTOMERNAME.Enabled = enableFlag
 26:     TXT_ZIP.Enabled = enableFlag
 27:     TXT_ADDRESS.Enabled = enableFlag
 28:     TXT_TELEPHONE.Enabled = enableFlag
 29:     TXT_FAX.Enabled = enableFlag
 30:     TXT_MEMO.Enabled = enableFlag
 31:    
 32:     If g_uRole And (ROLE_ALLADMIN Or ROLE_ACCOUNTING Or _
                         ROLE_ACCOUNTINGADMIN) Then
 33:         ' 締め日の設定が可能
 34:         enableFlag = True
 35:     Else
 36:         ' 締め日の設定は不可
 37:         enableFlag = False
 38:     End If
 39: 
 40:     Set objUtility = Nothing
 41:     Exit Sub
 42:     
 43: ErrHandle:
 44:     ' エラーが発生した
 45:     MsgBox Err.Description, vbOKOnly, "顧客編集の環境設定エラー"
 46:     Set objUtility = Nothing
 47: End Sub