以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  请教高手-录入数据校验问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=2080)

--  作者:i52117
--  发布时间:2009/3/13 12:23:00
--  请教高手-录入数据校验问题
假定A列输入不能大于1,如果大了,提示是否继续,是,则确认输入,否,则默认1。

问题:当第二次输入大于1的值时,点“否”要重复一次,不知为什么。


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


--  作者:yuansq
--  发布时间:2009/3/13 13:32:00
--  
你把代码中的提示窗口改成这个运行一下就明白了:dim rr as DialogResult  = messagebox.show("继续吗?" & "newvalue值:" & e.newvalue & "  单元格值:" & e.datarow("A"),"提示:",messageboxbuttons.YesNo,messageboxicon.question)       
output.show(e.newvalue) 

这个问题有意思,说明帮助文件“改折扣例子”也有这个现象啊。测试如下:

messagebox.show("继续吗?" & "newvalue值:" & e.newvalue & "  单元格值:" & e.datarow("折扣"),"提示:",messageboxbuttons.Ok,messageboxicon.question)       
output.show(e.newvalue)
If e.DataCol.Name = "折扣" Then \'如果是折扣列的内容发生变化.
    If e.NewValue > 0.15 Then \'如果输入的内容大于0.15.
        e.NewValue = 0.15 \'那么改为0.15.
    End If
End If
[此贴子已经被作者于2009-3-13 13:55:13编辑过]

--  作者:i52117
--  发布时间:2009/3/13 14:32:00
--  
谢谢yuansq 俺还未明白为何要提示两次。说明单元格被输入两次,而且都大于1,是吗?怎么会有这种现象?
--  作者:狐狸爸爸
--  发布时间:2009/3/13 14:48:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


--  作者:狐狸爸爸
--  发布时间:2009/3/13 15:53:00
--  
怪事,难道我的不同,我用楼主的代码,只提示一次的。
--  作者:yuansq
--  发布时间:2009/3/13 16:10:00
--  
以下是引用狐狸爸爸在2009-3-13 15:53:00的发言:
怪事,难道我的不同,我用楼主的代码,只提示一次的。

把你的给我试试。


--  作者:狐狸爸爸
--  发布时间:2009/3/13 16:14:00
--  
以下是引用yuansq在2009-3-13 16:10:00的发言:

把你的给我试试。


还没玩工,周末更新。


--  作者:i52117
--  发布时间:2009/3/13 16:47:00
--  
狐狸爸爸 你好,原因在此:我的代码在DataColChanging中,而你的代码在ValidateEdit中图片点击可在新窗口打开查看