问题现象: | 批处理文件中IF判断条件不准的问题:UFO报表模块在批处理公式中IF…END条件语句执行时,判断条件返回结果错误,在如下例子中明明两个报表的单元值是相等的,但系统却提示不相等: set swit off let &year=getint("请输入报表审核的年度:") let &month=getint("请输入报表审核的月份:") let &qr=getstr("确认输入的年月吗(Y/N)?") if upper(&qr)<>"Y" return end open repo "E:客户数据邢台矿业 2利润表.rep" let 年=&year let 月=&month if j16<>"E:客户数据邢台矿业 1资产负债表.rep"->g46 rela 月 with "E:客户数据邢台矿业 1资产负债表.rep"->月 disp “不等” ELSE disp “相等” END |
问题原因: | UFO程序在批处理文件中if函数后面的表达式不支持公式嵌套。 |
解决方案: | 将IF后面的表达式改为一变量即可,如: let &aaa = "E:客户数据邢台矿业 1资产负债表.rep"->g46 rela 月 with "E:客户数据邢台矿业 1资产负债表.rep"->月 if j16<>&aaa disp “不等” ELSE disp “相等” END |
相关补丁: | |
版本: | 8.52 |
模块: | UFO |
产品: | U8X----UFO报表 |
问题名称: | 批处理文件中IF判断条件不准的问题 |
最后更新: | 2005-06-28 00:00:00 |