List 7-139 FormSlipフォームのg_objRec_MoveCompleteプロシージャ
1: Private Sub g_objRec_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, _
ByVal pError As ADODB.Error, _
adStatus As ADODB.EventStatusEnum, _
ByVal pRecordset As ADODB.Recordset)
2: ' カレントレコードの位置が変更されたときの処理
3: Dim enableFlag As Boolean
4: Dim objSlip As Business.Slip
5: Dim state As SlipStatus
6:
7: If pRecordset.EOF Or pRecordset.BOF Then
8: ' カレントレコードが空である
9: enableFlag = False
10: Else
11: enableFlag = True
12: End If
13:
14: BTN_EDIT.Enabled = enableFlag
15: BTN_DELETE.Enabled = enableFlag
16: BTN_UNDELETE.Enabled = enableFlag
17: BTN_DETAIL.Enabled = enableFlag
18:
19: BTN_REQUESTCONSENT.Enabled = False
20: BTN_CANCELREQUESTCONSENT.Enabled = False
21: BTN_CONSENT.Enabled = False
22: BTN_CANCELCONSENT.Enabled = False
23: BTN_REJECT.Enabled = False
24: BTN_CANCELREJECT.Enabled = False
25: BTN_SEND.Enabled = False
26: BTN_CANCELSEND.Enabled = False
27: BTN_ACCOUNTING.Enabled = False
28: BTN_CANCELACCOUNTING.Enabled = False
29: BTN_MAKEONEBILL.Enabled = False
30:
31: If enableFlag Then
32: On Error Resume Next
33: ' 現在の伝票の状態を取得する
34: Set objSlip = CreateObject("Business.Slip")
35: state = objSlip.GetSlip_Status(pRecordset.Fields("ID").Value)
36: Set objSlip = Nothing
37:
38: Select Case state
39: Case Creating
40: ' 作成中
41: If g_uRole And (ROLE_ALLADMIN Or ROLE_SALES Or _
ROLE_SALESMANAGER Or ROLE_SALESADMIN) Then
42: BTN_REQUESTCONSENT.Enabled = True
43: End If
44: Case RequestingConsent
45: ' 承認依頼中
46: If g_uRole And (ROLE_ALLADMIN Or ROLE_SALES Or _
ROLE_SALESMANAGER Or ROLE_SALESADMIN) Then
47: BTN_CANCELREQUESTCONSENT.Enabled = True
48: End If
49: If g_uRole And (ROLE_ALLADMIN Or _
ROLE_SALESMANAGER Or ROLE_SALESADMIN) Then
50: BTN_CONSENT.Enabled = True
51: BTN_REJECT.Enabled = True
52: End If
53: Case Rejected
54: ' 却下されている
55: If g_uRole And (ROLE_ALLADMIN Or ROLE_SALES Or _
ROLE_SALESMANAGER Or ROLE_SALESADMIN) Then
56: BTN_REQUESTCONSENT.Enabled = True
57: End If
58: If g_uRole And (ROLE_ALLADMIN Or ROLE_SALESMANAGER Or _
ROLE_SALESADMIN) Then
59: BTN_CANCELREJECT.Enabled = True
60: End If
61: Case Consented
62: ' 承認ずみ
63: If g_uRole And (ROLE_ALLADMIN Or ROLE_PRODUCTS Or _
ROLE_PRODUCTSADMIN) Then
64: BTN_SEND.Enabled = True
65: End If
66: If g_uRole And (ROLE_ALLADMIN Or ROLE_SALES Or _
ROLE_SALESMANAGER Or ROLE_SALESADMIN) Then
67: BTN_CANCELCONSENT.Enabled = True
68: End If
69: Case Send
70: ' 発送ずみ
71: If g_uRole And (ROLE_ALLADMIN Or ROLE_PRODUCTSADMIN) Then
72: BTN_CANCELSEND.Enabled = True
73: End If
74: If g_uRole And (ROLE_ALLADMIN Or ROLE_ACCOUNTING Or _
ROLE_ACCOUNTINGADMIN) Then
75: BTN_ACCOUNTING.Enabled = True
76: End If
77: Case Accounted
78: ' 経理処理ずみ
79: If g_uRole And (ROLE_ALLADMIN Or ROLE_ACCOUNTING Or _
ROLE_ACCOUNTINGADMIN) Then
80: BTN_CANCELACCOUNTING.Enabled = True
81: BTN_MAKEONEBILL.Enabled = True
82: End If
83: End Select
84: End If
85: Set objSlip = Nothing
86: End Sub