Foxtable(狐表)用户栏目专家坐堂 → 判断取得第一个


  共有3553人关注过本帖树形打印复制链接

主题:判断取得第一个

帅哥哟,离线,有人找我吗?
cd_tdh
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3206 积分:21316 威望:0 精华:0 注册:2016/3/28 16:57:00
判断取得第一个  发帖心情 Post By:2019/12/5 12:32:00 [只看该作者]

老师,我下面这个表,怎么得到这样的补助标准结果,单个人最高补助为:3000.00?


图片点击可在新窗口打开查看此主题相关图片如下:111111.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:222222.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2019/12/5 12:32:20编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cd_tdh
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3206 积分:21316 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2019/12/5 20:54:00 [只看该作者]

请老师指导一下,这个条件应该怎么写,谢谢。

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110648 积分:563148 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/6 8:29:00 [只看该作者]

上传实例测试

 回到顶部
帅哥哟,离线,有人找我吗?
cd_tdh
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3206 积分:21316 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2019/12/6 11:12:00 [只看该作者]

老师,以下代码,证书专业没起到作用呢?前面判断了证书专业为空,补助为空啊,逻辑也还有点问题,请老师看看。

Select Case e.DataCol.name
    Case "身份证号码","证书名称","证书等级","证书专业"
        Dim dt As DataTable = e.DataTable
        Dim dr As DataRow = e.DataRow
        If dr.isnull("身份证号码") OrElse dr.isnull("证书名称") OrElse dr.isnull("证书等级") OrElse dr.isnull("证书专业") Then
            dr("补助标准") = Nothing
            If dr("证书名称") = "注册建造师" Then
                If dr("证书等级") = "一级" Then
                    Dim ds As DataRow= dt.sqlFind("[身份证号码] = '"& dr("身份证号码") & "'and [证书专业] <> '"& dr("证书专业") & "'")
                    If ds IsNot Nothing Then
                        dr("补助标准") = "500"
                    Else
                        dr("补助标准") = "1500"
                    End If
                End If
                If dr("证书等级") = "二级" Then
                    Dim ds1 As DataRow= dt.sqlFind("[身份证号码] = '"& dr("身份证号码") & "'and [证书专业] <> '"& dr("证书专业") & "'")
                    If ds1 IsNot Nothing Then
                        dr("补助标准") = "100"
                    Else
                        dr("补助标准") = "200"
                        If dr("证书等级") = "二级" Then
                            Dim ds2 As DataRow= dt.sqlFind("[身份证号码] = '"& dr("身份证号码") & "'and [证书专业] = '"& dr("证书专业") & "'")
                            If ds2 IsNot Nothing Then
                                dr("补助标准") = "0"
                            End If
                        End If
                    End If
                End If
            End If
        End If
End Select

[此贴子已经被作者于2019/12/6 11:12:42编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110648 积分:563148 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/6 11:24:00 [只看该作者]

If dr.isnull("身份证号码") OrElse dr.isnull("证书名称") OrElse dr.isnull("证书等级") OrElse dr.isnull("证书专业") Then
            dr("补助标准") = Nothing
else
            If dr("证书名称") = "注册建造师" Then


 回到顶部
帅哥哟,离线,有人找我吗?
cd_tdh
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3206 积分:21316 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2019/12/6 12:57:00 [只看该作者]

老师,红色代码位置路基不对,我需求是:如果为二级时,先看同一个人一级里面有没有相同专业,如果有,补助为0,如果没有,第1个二级补助200.00,后面的增加1个专业补助100.

Select Case e.DataCol.name
    Case "身份证号码","证书名称","证书等级","证书专业"
        Dim dt As DataTable = e.DataTable
        Dim dr As DataRow = e.DataRow
        If dr.isnull("身份证号码") OrElse dr.isnull("证书名称") OrElse dr.isnull("证书等级") OrElse dr.isnull("证书专业") Then
            dr("补助标准") = Nothing
        Else
            If dr("证书名称") = "注册建造师" Then
                If dr("证书等级") = "一级" Then
                    Dim ds As DataRow= dt.sqlFind("[身份证号码] = '"& dr("身份证号码") & "'and [证书专业] <> '"& dr("证书专业") & "'")
                    If ds IsNot Nothing Then
                        dr("补助标准") = "500"
                    Else
                        dr("补助标准") = "1500"
                    End If
                End If
                If dr("证书等级") = "二级" Then
                    Dim ds1 As DataRow= dt.sqlFind("[身份证号码] = '"& dr("身份证号码") & "'and [证书专业] = '"& dr("证书专业") & "'")
                    If ds1 IsNot Nothing Then
                        dr("补助标准") = "0"
                    Else
                        Dim ds2 As DataRow= dt.sqlFind("[身份证号码] = '"& dr("身份证号码") & "'and [证书专业] <> '"& dr("证书专业") & "'")
                        If ds2 IsNot Nothing Then
                            dr("补助标准") = "200"
                        Else
                            dr("补助标准") = "100"

                        End If
                    End If
                End If
            End If
        End If
End Select


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110648 积分:563148 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/6 13:53:00 [只看该作者]

Dim ds1 As DataRow= dt.sqlFind("[身份证号码] = '"& dr("身份证号码") & "'and [证书专业] = '"& dr("证书专业") & "' and 证书等级=‘一级’")
                    If ds1 IsNot Nothing Then
                        dr("补助标准") = "0"
                    Else
                        Dim ds2 As DataRow= dt.sqlFind("[身份证号码] = '"& dr("身份证号码") & "'and [证书专业] <> '"& dr("证书专业") & "' and 证书等级=‘二级’")
                        If ds2 IsNot Nothing Then

 回到顶部