数据窗口校验问题
我有一个数据窗口,有部门代码、部门名称。
我想让用户在部门代码列里输入值不能为空且不能有重复值。该如何控制。
我在itemchanged的事件中:
if dwo.name="bmdm" and data="" then
messagebox("","部门代码不能为空")
return 1
end if
但是当我新增加一行或为第一行时。bmdm为空时,仍然可以移走焦点。但当我在第一行输入值,然后又删掉时。此事件就触发了。
还有如何控制不能输入重复值。谢谢!!!
问题点数:20、回复次数:16Top
1 楼wang_jzh(casper)回复于 2005-01-25 12:31:34 得分 0
accepttext()Top
2 楼gaohenglove(jack wang)回复于 2005-01-25 12:36:31 得分 0
我试过,不行的Top
3 楼hygougou(uoguogyh)回复于 2005-01-25 12:42:13 得分 0
那是因为,你不输入任何东西,根本无法触发itemchanged事件,放在别的控件校验了Top
4 楼gaohenglove(jack wang)回复于 2005-01-25 12:43:59 得分 0
放在itemfocuschanged事件里也不行Top
5 楼LIKE0006(SPRING)回复于 2005-01-25 13:06:31 得分 0
新建的行要检验的值有默认吗,如果没有你的语句就有点大太对了。Top
6 楼gaohenglove(jack wang)回复于 2005-01-25 13:09:23 得分 0
没有默认值,难道就不行吗?这样的问题大家应该都遇到过吧Top
7 楼LIKE0006(SPRING)回复于 2005-01-25 13:12:13 得分 5
试试
if (dwo.name="bmdm" and data="")or isnull(data) then
messagebox("","部门代码不能为空")
return 1
end if
Top
8 楼hygougou(uoguogyh)回复于 2005-01-25 13:13:33 得分 5
用数据窗口的validation
判断吧,Top
9 楼gaohenglove(jack wang)回复于 2005-01-25 13:16:06 得分 0
试试Top
10 楼xyqiqi(琪琪)回复于 2005-01-25 16:18:42 得分 0
狗狗说的对,用Validation吧。Top
11 楼gaohenglove(jack wang)回复于 2005-01-25 19:31:49 得分 0
如何使用,谢谢Top
12 楼Lhg_windy(Procedure)回复于 2005-01-25 20:21:58 得分 0
我看在存檔的事件里面寫更好一點Top
13 楼gaohenglove(jack wang)回复于 2005-01-26 12:49:41 得分 0
你们都没遇到过吗Top
14 楼qianfl(毛毛熊)回复于 2005-01-26 13:40:46 得分 5
一般这种代码都是自动取最大值加一的,给用户自己输入不是一个好方法Top
15 楼zzxwn(星星)回复于 2005-01-26 14:42:11 得分 0
隻有在值發生改變時,才能法触发itemchanged事件.
Top
16 楼ribut9225(幽灵庄主)回复于 2005-01-26 15:30:49 得分 5
支持用ValidationTop




