Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

跪求:在查询中,先对字段的数据判断是否满足给定条件,然后进行运算

董先参  发表于:2018-11-28 18:51:42  
复制

想要做一个季度人员评比的查询,求大神帮忙,先再次谢过!!!小白一枚,描述的不够准确请见谅点击下载此附件

 

Top
西出阳关无故人 发表于:2018-11-28 23:04:07
Public Function 合格(ByVal rybm As Long) As Boolean
    Dim jcrq As Date
    合格 = True
    If DCount("*", "T001个人评分", "人员编码=" & rybm) > 1 Then
        jcrq = DMax("检视日期", "T001个人评分", "人员编码=" & rybm)
        If DLookup("是否存在一票否决项", "T001个人评分", "人员编码=" & rybm & " and 检视日期=#" & jcrq & "#") = True Then
            合格 = False
        Else
            If DLookup("评估分数", "T001个人评分", "人员编码=" & rybm & " and 检视日期=#" & jcrq & "#") < 80 Then
                合格 = False
            Else
                If DAvg("评估分数", "T001个人评分", "人员编码=" & rybm) < 80 Then
                    合格 = False
                End If
            End If
        End If
    Else
        If DLookup("是否存在一票否决项", "T001个人评分", "人员编码=" & rybm) = True Then
            合格 = False
        Else
            If DLookup("评估分数", "T001个人评分", "人员编码=" & rybm) < 80 Then
                合格 = False
            End If
        End If
    End If

End Function

这个函数可以判断第一部分,即是否合格。

但是评比得分的条件好像与得分有冲突,比如6004,一次76分,一次78分,没有否决项,应该加5分?



西出阳关无故人 发表于:2018-11-28 23:05:41


董先参 发表于:2018-11-29 21:02:43
特别感谢您的认真解答。6004第四季度得分应该是5分,我打错了

西出阳关无故人 发表于:2018-12-05 15:43:52

点击下载此附件

看“查询1”!



总记录:4篇  页次:1/1 9 1 :