设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2564|回复: 8
打印 上一主题 下一主题

[模块/函数] 问为何这个IIF查旬解决不了

[复制链接]
跳转到指定楼层
1#
发表于 2020-4-16 11:40:59 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
我想对各取值分数进行合计,结果发现空值不能处理,我的计划是如果黑框中的各个值:[体重分值]+[肺活量分值]+[立定跳远分值])+([坐位体前屈分值]+[800米/1000米分值])+[引体仰卧分值]不是空的就相加得出总和,如果一个多个为空就显示为空值,不计算。然后和画圈的和标准分相加得出总分,它们是反过来如果空值就化为0和标准分相加,如果标准分为空就不相加:

学年总分: [标准分2]+[引体仰卧附加分]+[800米/1000米附加分]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2020-4-16 13:56:20 | 显示全部楼层
本帖最后由 lingjiang 于 2020-4-16 14:02 编辑

现在情况是这样,三个相加充成字符连起来,没有求出和,另外,其中:[体重分值]、[肺活量分值]、[立定跳远分值])、([坐位体前屈分值]、[800米/1000米分值])、[引体仰卧分值]如果一个为空值,就返回空值做不到,还请大侠教一下,另外[标准分]、[800米/1000米附加分]、[引体仰卧附加分]三项也不能因标准分为空是返回空值,相加也会



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
3#
 楼主| 发表于 2020-4-17 21:30:07 | 显示全部楼层
是这意思
回复

使用道具 举报

4#
 楼主| 发表于 2020-4-17 21:31:06 | 显示全部楼层
怕几天老被空值烦
5#
 楼主| 发表于 2020-4-17 23:04:44 | 显示全部楼层
本帖最后由 lingjiang 于 2020-4-17 23:17 编辑

其实是这样讲,[肺活量分值]等是由前表体质评分表通过
肺活量分数2: IIf(IsNull([肺活量]),"",IIf([肺活量]>DMax("指数下限","肺活量评分","年级 & 性别='" & [年级] & [性别2] & "'"),DLookUp("得分","肺活量评分","年级 & 性别='" & [年级] & [性别2] & "' and 指数下限=" & DMax("指数下限","肺活量评分","年级 & 性别='" & [年级] & [性别2] & "'")),DLookUp("得分","肺活量评分","年级 & 性别='" & [年级] & [性别2] & "' and 指数下限=" & DMax("指数下限","肺活量评分","年级 & 性别='" & [年级] & [性别2] & "' and 指数下限<=" & [肺活量]))))这样域函数从对应的体重指数评分表查值得来的,
其实讲白话就是比如,比如一个人肺活量为4910,是男的,大一的,那他的值就是就4800到4920之间就是90分,然后它在标准分中占的比例是15%,标准分是由如体重指数分数分值等,都是乘以相应的比例分来的,然后这些分值再加起来就是标准分,我在查表求分的语句中设了一条件IIf(IsNull([测试项目]),"", 大意是如果前面成绩是空白的,得分栏就空白,不然的话就会显示#错误,不好浏览。然后再算标准分时就想设定这几个值如果哪个空的就不能计算,返回为空。试了用Nz不行,后来用了IIf([项目]="","",)连写五个,然后才写了一句将([体重分值]+[肺活量分值]+[立定跳远分值])+([坐位体前屈分值]+[800米/1000米分值])+[引体仰卧分值])才解决问题,这应是最下策的解决方法,因为我感觉IsNull([肺活量]),"",后肺活量分数中应是有空字串这个值的,不然不会提示错误。
到了算总分时又返过来了,因引体仰卧加分和1000米/800加分是要一齐和标准分相加才能形成,我又因IsNull([xx]),"",   倒了,加不起来,一加就出错,还是空字串问题,Nz用了N次都不行,IIf([项目]="","",)也不管用了,其实也有解决办法IsNull([xx]),"",   不用""用0就解决了。但是因为要做报表,总不能分数全用0解决吧,所以现在的问题就来了
1.[体重分值]、[肺活量分值]、[立定跳远分值])、([坐位体前屈分值]、[800米/1000米分值])、[引体仰卧分值]如果一个为空值,标准分为空
2.如果[标准分]不为空,[800米/1000米附加分]、[引体仰卧附加分]两项如果都不空,就和标准分相加,求出总分
如果一项为空,则另一项不为空的和标准分相加求出总分
如果两项都为空标准分就直接显到总分上
现在又发现新问题,会提示查询过于复杂的错误,总之空值伤人。不知有人能解决吗




6#
 楼主| 发表于 2020-4-18 16:52:18 | 显示全部楼层
xiexie,我继续学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-22 17:13 , Processed in 0.092787 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表