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