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