动态错误提示

如果发现用户输入的重要数据不符合规范,通常我们会显示一个对话框,给用户以提示。

这种纠正输入错误的方法较为“粗暴”,在用户输入的过程中,应该尽量不要打断用户操作的连贯性,我们可以用较为“平和”的方式对用户做出提示。

示例一

假定订单表中的折扣列不能超过0.2,如果输入的折扣超过0.2,就给以提示。

为此可以在AfterEdit事件中设置代码:

If e.Col.name = "折扣" Then
    If e.Row("折扣") > 0.2 Then
        e.Row.DataRow.SetError("折扣", "折扣不能超过0.2!")
    Else
        e.Row.DataRow.SetError("折扣","")
    End
If

End
If

这样用户输入超过0.2的折扣后,会在折扣单元格显示一个红色的图标,表示这里输入的内容有误,当鼠标移到这个红色图标上时,会显示具体的错误信息:

示例二

只有直接在表中输入数据,AfterEdit事件才会生效,如果希望任何情况导致折扣超出0.2,都会出现折扣提示,可以将DataColChanged事件的代码设置为:

If e.DataCol.name = "折扣" Then
   
If e.DataRow("折扣") > 0.2 Then
       
e.DataRow.SetError("折扣", "折扣不能超过0.2!")
    Else
        e.DataRow.SetError("折扣","")
    End
If

End
If

提示:上述方式并非只能用于错误提示,实际上你可以用于任何提示,只是这种方式多数时候用于错误提示而已。


本页地址:http://www.foxtable.com/webhelp/topics/2685.htm