List 7-6 FormCustomerフォームのForm_Loadプロシージャ
  1: Private g_uRole As Business.USERROLE
  2: Private Sub Form_Load()
  3:     ' フォームがロードされたときの処理
  4:     Dim objUtility As Business.Utility
  5:     Dim enableFlag As Boolean
  6:     
  7:     ' ユーザーの権限によって,一部のボタンを不可視にする
  8:     On Error GoTo ErrHandle
  9:     
 10:     Set objUtility = CreateObject("Business.Utility")
 11:     
 12:     ' ユーザーのロールを取得する
 13:     g_uRole = objUtility.GetUserInRole()
 14:     
 15:     If g_uRole And (ROLE_ALLADMIN Or ROLE_SALES Or _
                         ROLE_SALESADMIN Or ROLE_SALESMANAGER Or _
                         ROLE_ACCOUNTING Or ROLE_ACCOUNTINGADMIN) Then
 16:         ' 編集権限を持っている
 17:         enableFlag = True
 18:     Else
 19:         ' 編集権限がない
 20:         enableFlag = False
 21:     End If
 22:     
 23:     BTN_NEW.Visible = enableFlag
 24:     BTN_DELETE.Visible = enableFlag
 25:     
 26:     ' 編集ボタンを詳細というラベルに変更するかどうか
 27:     BTN_EDIT.Visible = True
 28:     If enableFlag Then
 29:         BTN_EDIT.Caption = "編集"
 30:     Else
 31:         BTN_EDIT.Caption = "詳細"
 32:     End If
 33:     
 34:     If g_uRole And (ROLE_ALLADMIN Or ROLE_SALESADMIN) Then
 35:         ' 復活権限を持っている
 36:         enableFlag = True
 37:     Else
 38:         ' 復活権限を持っていない
 39:         enableFlag = False
 40:     End If
 41:     
 42:     BTN_UNDELETE.Visible = enableFlag
 43:         
 44:     Set objUtility = Nothing
 45:     
 46:     Exit Sub
 47:     
 48: ErrHandle:
 49:     ' エラーが発生した
 50:     MsgBox Err.Description, vbOKOnly, "顧客情報の環境設定エラー"
 51:     Set objUtility = Nothing
 52: End Sub