2016-08-17 2 views
0

테이블에 숫자 필드가 있습니다. 이름이 "Pr330USD" 인 양식의 경우 "PrEvFees"라는 텍스트 상자의 제어 소스가 해당 필드에 연결되었습니다. 두 개의 서로 다른 보고서를 여는왜 Enable/Disable 버튼에 대한 VBA 코드가 작동하지 않습니까?

OpenReportFRR

OpenFRRDraft

:

는 또한라는 두 개의 버튼이있다. 삽입 후 금액 (위보다 300 달러 나) 자신의 상황을 변경하고 또한 작동하지 않는 명령을 새로 고침하지 않는 버튼을 :

Private Sub PrEvFees_BeforeUpdate(Cancel As Integer) 
    If Me.PrEvFees.Value >= 300 Then 
     OpenReportFRR.Enabled = True 
     OpenFRRDraft.Enabled = False 
    Else 
     OpenReportFRR.Enabled = False 
     OpenFRRDraft.Enabled = True 
    End If 

    DoCmd.Save 
    DoCmd.RefreshRecord 

End Sub 

문제는 다음과 같습니다

나는 코드 아래에 언급 버튼을 썼다 (나는 줄에 "DoCmd.RefreshRecord"노란색 경고를 포함시켰다).

모든 아이디어가 감사합니다.

+3

Protip : [편집] 제목 시도 그래서 누군가가 비슷한 문제가 Google 검색 상자에 입력하고 찾아 낼 필요 귀하의 질문 (및 그 답변!). 그것이 그대로,이 제목은 거의 모든 단일 VBA 질문이 사이트에 질문에 적용됩니다. –

+2

'BeforeUpdate' 이벤트는 폼에로드 된 기존 레코드가 업데이트되기 전에 호출됩니다. 그러나 당신은 _insert_ 다음에 새로운 레코드이거나 이미 존재하는 레코드라고 말했습니까? – litelite

+0

코드를 _AfterUpdate_ 이벤트로 이동하십시오. – Gustav

답변

1

좋아들, 감사합니다 ... 특히 매트의 머그컵을 litelite는 :

마지막으로, 선 ("새로 고침"순서에 대한 마지막 줄) 제거와 코드가 올바르게 작동합니다. 최종 코드는 다음과 같습니다 :

개인 서브 PrEvFees_BeforeUpdate가 (정수로 취소)

If Me.PrEvFees.Value >= 300 Then 

    OpenReportFRR.Enabled = True 
    OpenFRRDraft.Enabled = False 

Else 

    OpenReportFRR.Enabled = False 
    OpenFRRDraft.Enabled = True 

End If 

    DoCmd.Save 

End Sub 
관련 문제