以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]自动输入和自动更新问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=104226)

--  作者:deliangzhaoe
--  发布时间:2017/7/25 21:07:00
--  [求助]自动输入和自动更新问题

图片点击可在新窗口打开查看此主题相关图片如下:风险分级管控和隐患排查项目清单.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:设备设施清单.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:作业活动清单.png
图片点击可在新窗口打开查看

风险分级管控和隐患排查项目清单表中
风险点所在车间,责任单位,责任人三列值,当类型为作业活动时,从作业活动清单表中获取,当类型为设备设施时,从设备设施清单表中自动获取,现在从作业活动清单中获取没问题,从设备设施清单表中获取时,出现问题。下面这段代码如何改一下:

\'风险分级管控和隐患排查项目清单表中风险点所在车间,责任单位,责任人三列值从作业活动清单中自动获取
If e.DataCol.Name = "企业名称" OrElse e.DataCol.Name = "风险点_名称" Then
    Dim dr As DataRow = e.DataRow
    Dim sr As DataRow = DataTables("作业活动清单").SQLFind("[企业名称] = \'" & dr("企业名称") & "\' And [作业活动名称] = \'" & dr("风险点_名称") & "\'") \'在后台查找符合条件的行
    If sr IsNot Nothing Then \'如果找到了符合条件的行
        dr("风险点_所在车间或岗位") = sr("部门/车间")
        dr("责任单位") = sr("部门/车间")
        dr("责任人") = sr("责任人员")
    Else
        dr("风险点_所在车间或岗位") = sr("部门/车间")
        dr("责任单位") = sr("部门/车间")
        dr("责任人") = sr("责任人员")
    End If
End If
\'作业活动清单表中部门/车间,责任人员列发生变化时,风险分级管控和隐患排查项目清单表中相关列自动更新
Select Case e.DataCol.Name
    Case "部门/车间","责任人员"
        Dim Filter As String = "[风险点_名称] = \'" & e.DataRow("作业活动名称") & "\'"
        Dim drs As List(Of DataRow) = DataTables("风险分级管控和隐患排查项目清单").Select(Filter)
        For Each dr As DataRow In drs
            dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
        Next
End Select

谢谢各位老师了!
[此贴子已经被作者于2017/7/25 21:11:03编辑过]

--  作者:有点蓝
--  发布时间:2017/7/25 21:34:00
--  
If e.DataCol.Name = "企业名称" OrElse e.DataCol.Name = "风险点_名称" Then
    Dim dr As DataRow = e.DataRow
    
    Dim sr As DataRow
    If dr("类型") = "作业活动" Then
        sr = DataTables("作业活动清单").SQLFind("[企业名称] = \'" & dr("企业名称") & "\' And [作业活动名称] = \'" & dr("风险点_名称") & "\'") \'在后台查找符合条件的行
    ElseIf dr("类型") = "设备设施" Then
        sr = DataTables("设备设施清单").SQLFind("[企业名称] = \'" & dr("企业名称") & "\' And [作业活动名称] = \'" & dr("风险点_名称") & "\'") \'在后台查找符合条件的行
    End If
    If sr IsNot Nothing Then \'如果找到了符合条件的行
        dr("风险点_所在车间或岗位") = sr("部门/车间")
        dr("责任单位") = sr("部门/车间")
        dr("责任人") = sr("责任人员")
    End If
End If