如何编辑这样的公式?

在途中 2005-04-28 04:19:05
在使用水晶报表时需要以下的公式,如何编辑呢?

数据库里有一成绩记录,如:成绩1,成绩2,成绩3,想求出平均分?

现在个人不知如何在水晶报表里使用Average ()这种函数,自已想编成
平均分=(成绩1+成绩2+成绩3)/3,但又遇到有时某个成绩可能不存
在的情况,所以要确定要除以几,是3还是2,我便这样写了(basic语法)

dim i as number
dim j as number

i=0

if {成绩数据.成绩1}>0 then i=i+1
if {成绩数据.成绩2}>0 then i=i+1
if {成绩数据.成绩3}>0 then i=i+1

j=({成绩数据.成绩1}+{成绩数据.成绩2}+{成绩数据.成绩3})/i

select case j
case is >=85
formula="优"
case is >=75
formula="良"
case is >=60
formula="及格"
case is>=0
formula="待及格"
end select

可这时要是我的数据库里其中一成绩没有记录,也就是是空时便无法求出
正确答案?

该如何办呢?
...全文
159 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿泰 2005-05-13
  • 打赏
  • 举报
回复
select case j
case is>=0
formula="待及格"
case else
formula="没有成绩记录"
end select
zhang_jeremy 2005-05-13
  • 打赏
  • 举报
回复
先把三个成绩做为空时候的零处理,分别放在三个公式字段里面,然后再对三个公式字段做你上面的处理就行了。
在途中 2005-05-03
  • 打赏
  • 举报
回复
还不行
xwdd129 2005-04-30
  • 打赏
  • 举报
回复
类似以下公式:

if IsNull ({成绩数据.成绩1}) then {成绩数据.成绩2} else ({成绩数据.成绩1}+ {成绩数据.成绩2}) / 2
在途中 2005-04-29
  • 打赏
  • 举报
回复
这很难吗?

4,819

社区成员

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

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