Foxtable(狐表)用户栏目专家坐堂 → [求助] 多级条件判断


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

主题:[求助] 多级条件判断

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


加好友 发短信
等级:小狐 帖子:348 积分:2805 威望:0 精华:0 注册:2016/8/24 10:39:00
[求助] 多级条件判断  发帖心情 Post By:2017/3/4 11:43:00 [只看该作者]

表B有执行时间,执行状态,项目,新值,单据状态等字段,如果执行时间为当天,并且单据状态为 已审核,则判断项目的内容,如果项目的内容为基本工资,则将新值的数据复制到A的基本工资字段中,并且在B表的执行状态更改为已执行。下面是我写的代码,求大神改正:
Dim dt As Date = NOW()
 If e.DataCol.Name = "执行日期"  Then
    If e.DataRow("执行日期") = dt.Date Then
        If e.DataRow("单据状态") = "已审核" Then
            e.DataRow("执行状态")= "已执行"
              If e.DataRow("项目") = "基本工资" Then
                If e.DataCol.Name = "新值" Then
                   Dim Filter As String = "[工号] = '" & e.DataRow("工号") & "' "
                   DataTables("HR_人事档案").ReplaceFor("基本工资", e.NewValue, Filter)
                 End If
             End If
        End If
    End If
End If



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


加好友 发短信
等级:超级版主 帖子:105948 积分:538809 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/3/4 14:21:00 [只看该作者]


Select Case e.DataCol.Name
    Case "执行日期","单据状态","项目"
        If e.DataRow("执行日期") = Date.Today AndAlso e.DataRow("单据状态") = "已审核" AndAlso e.DataRow("项目") = "基本工资" Then
            e.DataRow("执行状态")= "已执行"
            Dim Filter As String = "[工号] = '" & e.DataRow("工号") & "' "
            DataTables("HR_人事档案").ReplaceFor("基本工资", e.DataRow("新值"), Filter)
        End If
    End If
End Select

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


加好友 发短信
等级:小狐 帖子:348 积分:2805 威望:0 精华:0 注册:2016/8/24 10:39:00
  发帖心情 Post By:2017/3/4 14:45:00 [只看该作者]

非常感谢,想了很久,终于出结果了

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


加好友 发短信
等级:小狐 帖子:348 积分:2805 威望:0 精华:0 注册:2016/8/24 10:39:00
  发帖心情 Post By:2017/3/4 14:51:00 [只看该作者]

这是后面想出来的,没有老师的精炼


Dim dt As Date = NOW()

If e.DataCol.name = "单据状态" Then
   If e.DataRow("单据状态") = "已审核" Then 
      If e.DataRow("执行日期") = dt.Date Then
         e.DataRow("执行状态")= "已执行"
           Dim Filter As String = "[工号] = '" & e.DataRow("工号") & "' "
              DataTables("HR_人事档案").ReplaceFor("基本工资", e.DataRow("新值"), Filter)
            End If 
      End If 
End If 

 回到顶部