2016-08-17 45 views
0

我在表中有一个数字字段。在一个名为“PrEvFees”的文本框的控件源的窗体中名为“Pr330USD” 的字段已经链接到该字段。为什么用于启用/禁用按钮的VBA代码不起作用?

我也有叫两个按钮:

OpenReportFRR

OpenFRRDraft

打开两个不同的报告。

我写下面代码前述按钮:

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 

的问题是: 插入后的量(小于300美元或以上)的按钮不改变他们的情况和也刷新命令不起作用(我在线上包含“DoCmd.RefreshRecord”黄色警报)。

任何想法是感谢全部。

+3

普罗蒂普:尽量[编辑]您的标题,这样的人有类似的问题会在谷歌搜索框中键入它,找到你的问题(及其答案!)。就目前而言,这个标题几乎适用于本网站上曾经问过的每一个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