水晶报表公式报错:此处需要有一个数字字段或货币金额字段。在线等……

xwty1225 2011-06-28 10:51:59
水晶报表运行时报错:
公式 <HFLALL>.
'if StrCmp ({FDRSubcontractOrgRpt.BYTYPE}, '分包商') = 0'
此处需要有一个数字字段或货币金额字段。
...全文
608 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xwty1225 2011-06-30
  • 打赏
  • 举报
回复
前面是笔误,不是问题所在:
问题是这样的:
1、在报表页脚的 抑制显示中用 {FDRSubcontractOrgRpt.BYTYPE}<>'分包院' 没有问题
2、但是在公式中用到,就出问题了(提示:此处需要有一个数字字段或货币金额字段)
阿泰 2011-06-30
  • 打赏
  • 举报
回复
前面的描述根本没点明问题所在。。。8楼才是重点。
所以说,描述清楚问题是很重要的。
[QUOTE]
if cdbl({FDRSubcontractOrgRpt.BYTYPE})<>'分包院'
then
if(cdbl(Sum ({FDRSubcontractOrgRpt.BQSD})) + cdbl(Sum ({FDRSubcontractOrgRpt.SQYL}))) <> 0
then
cdbl(Sum ({FDRSubcontractOrgRpt.DAYS5})) * 100 / (cdbl(Sum ({FDRSubcontractOrgRpt.BQSD})) + cdbl(Sum ({FDRSubcontractOrgRpt.SQYL})))
else 0
else 0
[/QUOTE]
这个的重点不是在{FDRSubcontractOrgRpt.BYTYPE}<>'分包院'
你后面的这些数值型字段里,应该有null值。
阿双2009 2011-06-29
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 xwty1225 的回复:]
cdbl({FDRSubcontractOrgRpt.BYTYPE})<>'分包院'
[/Quote]

左边是数字,右边是字符串,应该把左边的cdbl去掉
xwty1225 2011-06-29
  • 打赏
  • 举报
回复
问题是这样的:
1、在报表页脚的 抑制显示中用 {FDRSubcontractOrgRpt.BYTYPE}<>'分包院' 没有问题
2、但是在公式中用到,就出问题了(提示:此处需要有一个数字字段或货币金额字段)

if cdbl({FDRSubcontractOrgRpt.BYTYPE})<>'分包院'
then
if(cdbl(Sum ({FDRSubcontractOrgRpt.BQSD})) + cdbl(Sum ({FDRSubcontractOrgRpt.SQYL}))) <> 0
then
cdbl(Sum ({FDRSubcontractOrgRpt.DAYS5})) * 100 / (cdbl(Sum ({FDRSubcontractOrgRpt.BQSD})) + cdbl(Sum ({FDRSubcontractOrgRpt.SQYL})))
else 0
else 0
东莞寻香苑 2011-06-29
  • 打赏
  • 举报
回复
就直接用会报错吗?
if {FDRSubcontractOrgRpt.BYTYPE}= '分包商' then
{FDRSubcontractOrgRpt.Count1}
else
0

阿泰 2011-06-28
  • 打赏
  • 举报
回复
{FDRSubcontractOrgRpt.BYTYPE} 这个字段类型是什么?
有没有NULL值?

整个公式贴出来看看吧
xpcxpy 2011-06-28
  • 打赏
  • 举报
回复
then后面和else后面的数据类型要一致
xwty1225 2011-06-28
  • 打赏
  • 举报
回复
if StrCmp ({FDRSubcontractOrgRpt.BYTYPE}, '分包商') = 0
then
{FDRSubcontractOrgRpt.Count1}
else
0

数据源是我在.cs中构造的:
dr["BYTYPE"] = "Type1";

4,817

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧