当前位置: 代码迷 >> PB >> 编撰脚本文件中显示error c0031和error c0003
  详细解决方案

编撰脚本文件中显示error c0031和error c0003

热度:100   发布时间:2016-04-29 05:47:23.0
编写脚本文件中显示error c0031和error c0003
if sle_id.text=""or is null (sle_id.text) then
messagebox ("缺少数据","请输入学号")
sle_id.setfocus()
return
elseif sle_name.text=""or is null (sle_name.text) then
messagebox("缺少数据","请输入学生姓名")
sle_name.setfocus()
return
end if

end if
================================================================
总共提示了四个错误:
第一个error c0031:syntax error
第二个error c0003:condition for if statement must be a boolean
这两个错误提示在第一个if处;
第三个error c0003:condition for if statement must be a boolean
这个错误提示在第一个else处;
第四个error c0031:syntax error
这个错误提示在最后一个end if处。
===============================================================
我尝试删除了最后一个end if 但是发现虽然第四个错误消除了,可是又增加了四个一模一样的错误在底下这段代码中:
if sle_birthday.text<>"" and not is null (sle_birthday) then
if is date (sle_birthday.text) then
ld_birthday=date(sle_birthday.text)
else
messagebox("输入数据错误","请使用年-月-日的日期格式")
sle_birthday.setfocus()
return
end if

end if
错误提示的位置与第一段代码一样。
然后,我就不知道该怎么办了。希望得到帮助~~~先表示感谢
------解决方案--------------------
if sle_birthday.text<>"" and not is null (sle_birthday) then

中判断的应该是 isnull(sle_birthday.text) //判断的是 sle_birthday 控件的 text 属性,而不是控件。

第二个错误应该是由于第一个错误,导致if 语句中是一个无效的 boolean 表达式。

后面的应该类同。

另,要注意双引号不能是中文字符或全角字符。
------解决方案--------------------
ISNULL不是 IS NULL
这是PB的一个函数,没有空格。
------解决方案--------------------
isnull,isdate这些函数不能中间分开
  相关解决方案