|
7#

楼主 |
发表于 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米附加分]、[引体仰卧附加分]两项如果都不空,就和标准分相加,求出总分
如果一项为空,则另一项不为空的和标准分相加求出总分
如果两项都为空标准分就直接显到总分上
现在又发现新问题,会提示查询过于复杂的错误,总之空值伤人。不知有人能解决吗 
|
|