hur.cn - 华软网

 热门搜索

关于setItem

  作者:未知    来源:网络    更新时间:2018/6/13
我想让在DataWindow里检测用户的输入,当用户输入非法时,把用户输入的值改成默认的值。例如输入日期,当用户输入2005.9.32时,提示日期非法,然后把日期设成当天的。我在DataWindow的Itemchanged事件中添加如下代码

if not isdate(left(data,4)+"/"+mid(data,5,2)+"/"+right(data,2)) then 
MessageBox("提示信息","非法日期,请重新录入!")
dw_1.SetItem(row,'C',string(today(),"YYYY.MM.DD"))
//MessageBox("",string(today(),"YYYY.MM.DD"))
end if

数据表有A,B,C,D四个字段,都是varchar型的。
我发现当焦点移动之前,字段C的日期的确被改成当天的日期了,但是,焦点移动到D时,它又变成用户输入的那个错误的日期了。怎么解决呢?
------华软网友回答------
setitem(row,'c',string(today(),'yyyy/mm/dd'))
settext(string(today(),'yyyy/mm/dd'))
return 2

------华软网友回复------
建议把c改为datetime数据类型。
如果用户输入20050901或200591你怎么办?

用户也想输入方便。
------华软网友回复------
lw1a2 (一刀)  : 2楼的对哦 。找到你了啊!
哈哈
------华软网友回复------
主要是公司的数据库里是那样设的,不可以随便改动的。我那个只是测试的小程序      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。