有一个窗口,内有一个freeform的数据窗口作数据的录入,一个保存按钮,在保存按钮中对输入数据进行检查,
现在的问题是:所有字段全输入数据后,最后一个输入的字段值(如联系点电话字段),在保存按钮里都会认为是空值,(其实已有数据输入),如果输入数据顺序换过,把其实字段(如企业名称)最后一个输入,也会认为企业名称是空值,总之会认为最后一个输入的字段值为空,弹出错误信息,点确定后再重新点保存却能顺利通过检查,为什么啊?请大侠们帮帮忙吧
以下两张图用以说明:
第一张图为最后把联系电话字段输入后,点保存弹出错误信息.
第二张图为最后把企业名称字段输入后,点保存弹出错误信息.
第三张图为点了错误信息框的确定后,再点保存却能通过检查的图象.
以下是保存按钮的代码:
int li_num
lstr_dwqk.register=dw_1.object.register[ll_row]
lstr_dwqk.company=dw_1.object.company[ll_row]
lstr_dwqk.qylxid=dw_1.object.qylxid[ll_row]
lstr_dwqk.hyid=dw_1.object.hyid[ll_row]
lstr_dwqk.address=dw_1.object.address[ll_row]
lstr_dwqk.corporate=dw_1.object.corporate[ll_row]
lstr_dwqk.tel=dw_1.object.tel[ll_row]
if isnumber(lstr_dwqk.register)<>true or len(lstr_dwqk.register)<>13 or isnull(lstr_dwqk.register) then
MessageBox("数据保存","请正确输入13位'工商登记号'!")
dw_1.setfocus()
dw_1.setcolumn("register")
return
else
choose case gs_add_or_modify
case "add"
select count(*) into :li_num from dwqk where register=:lstr_dwqk.register;
case "modify"
select count(*) into :li_num from dwqk where register=:lstr_dwqk.register and comid<>:old_comid;
end choose
if li_num>0 then
MessageBox("数据保存","输入的'工商登记号'已存在,请重新输入'工商登记号'!")
dw_1.setfocus()
dw_1.setcolumn("register")
return
end if
end if
if isnull(lstr_dwqk.company) or lstr_dwqk.company="" then
MessageBox("数据保存","请正确输入'企业名称'!")
dw_1.SetFocus()
dw_1.setcolumn("company")
return
else
choose case gs_add_or_modify
case "add"
select count(*) into :li_num from dwqk where company=:lstr_dwqk.company;
case "modify"
select count(*) into :li_num from dwqk where company=:lstr_dwqk.company and comid<>:old_comid;
end choose
if li_num>0 then
MessageBox("数据保存","输入的'企业名称'已存在,请重新输入'企业名称'!")
dw_1.setfocus()
dw_1.setcolumn("company")
return
end if
end if
if isnull(lstr_dwqk.qylxid) then
MessageBox("数据保存","请选择'企业类型'!")
dw_1.SetFocus()
dw_1.setcolumn("qylxid")
return
end if
if isnull(lstr_dwqk.hyid) then
MessageBox("数据保存","请选择'行业类别'!")
dw_1.SetFocus()
dw_1.setcolumn("hyid")
return
end if
if isnull(lstr_dwqk.address) or lstr_dwqk.address="" then
MessageBox("数据保存","请正确输入'单位地址'!")
dw_1.SetFocus()
dw_1.setcolumn("address")
return
end if
if isnull(lstr_dwqk.corporate) or lstr_dwqk.corporate="" then
MessageBox("数据保存","请正确输入'法人代表'!")
dw_1.SetFocus()
dw_1.setcolumn("corporate")
return
end if
if isnull(lstr_dwqk.tel) or lstr_dwqk.tel="" then
MessageBox("数据保存","请正确输入'联系电话'!")
dw_1.SetFocus()
dw_1.setcolumn("tel")
return
end if
//if dw_1.ModifiedCount() + dw_1.DeletedCount() < 1 then
//Messagebox("提示","没有修改数据!",Exclamation!)
//dw_1.SetFocus()
//Return
//end if
if dw_1.Update() <> 1 then
Rollback;
Messagebox("错误","数据保存出错!请检查是否有空数据、重复编码!",stopsign!)
dw_1.SetFocus()
Return
end if
commit;
Messagebox("提示","数据保存成功!")
w_input.tab_1.tabpage_1.dw_4.retrieve()
w_input.tab_1.tabpage_1.dw_4.SetFocus()
close(parent)
ls_comid=0