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


  1: Private g_uRole As Business.USERROLE
  2: 
  3: Private Sub Form_Load()
  4:     ' フォームがロードされたときの処理
  5:     Dim objUtility As Business.Utility
  6:     Dim enableFlag As Boolean
  7:     
  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_PRODUCTS Or ROLE_PRODUCTSADMIN) Then
 17:         ' 編集権限を持っている
 18:         enableFlag = True
 19:     Else
 20:         ' 編集権限がない
 21:         enableFlag = False
 22:     End If
 23:     
 24:     BTN_NEW.Visible = enableFlag
 25:     BTN_DELETE.Visible = enableFlag
 26:     
 27:     ' 編集ボタンを詳細というラベルに変更するかどうか
 28:     BTN_EDIT.Visible = True
 29:     If enableFlag Then
 30:         BTN_EDIT.Caption = "編集"
 31:     Else
 32:         BTN_EDIT.Caption = "詳細"
 33:     End If
 34:     
 35:     If g_uRole And (ROLE_ALLADMIN Or ROLE_PRODUCTSADMIN) Then
 36:         ' 復活権限を持っている
 37:         enableFlag = True
 38:     Else
 39:         ' 復活権限を持っていない
 40:         enableFlag = False
 41:     End If
 42:     
 43:     BTN_UNDELETE.Visible = enableFlag
 44:         
 45:     Set objUtility = Nothing
 46:     
 47:     ' データグリッドの中身を最新の情報に更新する
 48:     ' 最初は顧客番号順に並べる
 49:     g_Order = "ID"
 50:     RefreshData
 51:     
 52:     ' ComboBoxにDataGridコントロール内のカラム名を移す
 53:     SetFieldList
 54:     
 55:     Exit Sub
 56:     
 57: ErrHandle:
 58:     ' エラーが発生した
 59:     MsgBox Err.Description, vbOKOnly, "顧客情報の環境設定エラー"
 60:     Set objUtility = Nothing
 61: End Sub