以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  代码  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=131995)

--  作者:13775189031
--  发布时间:2019/3/11 13:24:00
--  代码
请教!下面这段代码能不能再简化一下,以提高计算效率

Select Case e.DataCol.Name
    Case "到货数量","到货_批次","到货_一次到全日期"
        If e.DataRow("到货_一次到全") = False Then
            DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\'")
        Else
            If e.DataRow("物资说明") = "原材料" Then
                DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\'")
                For i As Integer = 1 To e.DataRow("到货_批次")
                    Dim ndr As Row = Tables("物资检验详单").AddNew
                    ndr("序号") = e.DataRow("序号")
                    ndr("编号") = e.DataRow("编号")
                    ndr("预算编号") = e.DataRow("预算编号")
                    ndr("生产令号") = e.DataRow("生产令号")
                    ndr("项目名称") = e.DataRow("项目名称")
                    ndr("物资说明") = e.DataRow("物资说明")
                    ndr("物资名称") = e.DataRow("物资名称")
                    ndr("规格") = e.DataRow("规格")
                    ndr("材质") = e.DataRow("材质")
                    ndr("单位") = e.DataRow("单位")
                    ndr("到货数量") = e.DataRow("到货数量")
                    ndr("送检_送检人") = "翟晓晨"
                    ndr("供应商") = e.DataRow("中标情况_中标单位")
                    ndr("送检_送检日期") = e.DataRow("到货_一次到全日期")
                    ndr.Move(0)
                Next
            End If
            If e.DataRow("物资说明") = "辅材" Then
                DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\'")
                Dim ndr As Row = Tables("物资检验详单").AddNew()
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = e.DataRow("物资说明")
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("到货数量") = e.DataRow("到货数量")
                ndr("重量Kg") = "/"
                ndr("炉批号") = "/"
                ndr("标识号") = "/"
                ndr("送检_送检人") = "翟晓晨"
                ndr("供应商") = e.DataRow("中标情况_中标单位")
                ndr("送检_送检日期") = e.DataRow("到货_一次到全日期")
                ndr.Move(0)
            End If
            If e.DataRow("物资说明") = "焊材" Then
                DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\'")
                Dim ndr As Row = Tables("物资检验详单").AddNew()
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = e.DataRow("物资说明")
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("到货数量") = e.DataRow("到货数量")
                ndr("供应商") = e.DataRow("中标情况_中标单位")
                ndr("送检_送检日期") = e.DataRow("到货_一次到全日期")
                ndr.Move(0)
            End If
            If e.DataRow("物资说明") = "紧固件" Then
                DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\'")
                Dim ndr As Row = Tables("物资检验详单").AddNew()
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = e.DataRow("物资说明")
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("到货数量") = e.DataRow("到货数量")
                ndr("重量Kg") = "/"
                ndr("炉批号") = "/"
                ndr("标识号") = "/"
                ndr("送检_送检人") = "翟晓晨"
                ndr("供应商") = e.DataRow("中标情况_中标单位")
                ndr("送检_送检日期") = e.DataRow("到货_一次到全日期")
                ndr.Move(0)
            End If
            If e.DataRow("物资说明") = "核电-紧固件" Then
                DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\'")
                Dim ndr As Row = Tables("物资检验详单").AddNew()
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = e.DataRow("物资说明")
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("到货数量") = e.DataRow("到货数量")
                ndr("重量Kg") = "/"
                ndr("炉批号") = "/"
                ndr("标识号") = "/"
                ndr("送检_送检人") = "翟晓晨"
                ndr("供应商") = e.DataRow("中标情况_中标单位")
                ndr("送检_送检日期") = e.DataRow("到货_一次到全日期")
                ndr.Move(0)
            End If
            If e.DataRow("物资说明") = "外购件" Then
                DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\'")
                Dim ndr As Row = Tables("物资检验详单").AddNew()
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = e.DataRow("物资说明")
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("到货数量") = e.DataRow("到货数量")
                ndr("重量Kg") = "/"
                ndr("炉批号") = "/"
                ndr("标识号") = "/"
                ndr("送检_送检人") = "翟晓晨"
                ndr("供应商") = e.DataRow("中标情况_中标单位")
                ndr("送检_送检日期") = e.DataRow("到货_一次到全日期")
                ndr.Move(0)
            End If
            If e.DataRow("物资说明") = "电气" Then
                DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\'")
                Dim ndr As Row = Tables("物资检验详单").AddNew()
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = e.DataRow("物资说明")
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("到货数量") = e.DataRow("到货数量")
                ndr("重量Kg") = "/"
                ndr("炉批号") = "/"
                ndr("标识号") = "/"
                ndr("送检_送检人") = "翟晓晨"
                ndr("供应商") = e.DataRow("中标情况_中标单位")
                ndr("送检_送检日期") = e.DataRow("到货_一次到全日期")
                ndr.Move(0)
            End If
        End If
End Select

Select Case e.DataCol.Name
    Case "到货_第一批_数量","到货_第一批_批次","到货_第一批_日期"
        If e.DataRow.IsNull("到货_第一批_数量") = True Then
            DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\'")
        Else
            If e.DataRow("物资说明") = "原材料" Then
                DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\'")
                For i As Integer = 1 To e.DataRow("到货_第一批_批次")
                    Dim ndr As Row = Tables("物资检验详单").AddNew
                    ndr("序号") = e.DataRow("序号")
                    ndr("编号") = e.DataRow("编号")
                    ndr("预算编号") = e.DataRow("预算编号")
                    ndr("生产令号") = e.DataRow("生产令号")
                    ndr("项目名称") = e.DataRow("项目名称")
                    ndr("物资说明") = e.DataRow("物资说明")
                    ndr("物资名称") = e.DataRow("物资名称")
                    ndr("规格") = e.DataRow("规格")
                    ndr("材质") = e.DataRow("材质")
                    ndr("单位") = e.DataRow("单位")
                    ndr("到货数量") = e.DataRow("到货_第一批_数量")
                    ndr("送检_送检人") = "翟晓晨"
                    ndr("供应商") = e.DataRow("中标情况_中标单位")
                    ndr("送检_送检日期") = e.DataRow("到货_第一批_日期")
                    ndr.Move(0)
                Next
            End If
            If e.DataRow("物资说明") = "辅材" Then
                DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\'")
                Dim ndr As Row = Tables("物资检验详单").AddNew()
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = e.DataRow("物资说明")
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("到货数量") = e.DataRow("到货_第一批_数量")
                ndr("重量Kg") = "/"
                ndr("炉批号") = "/"
                ndr("标识号") = "/"
                ndr("送检_送检人") = "翟晓晨"
                ndr("供应商") = e.DataRow("中标情况_中标单位")
                ndr("送检_送检日期") = e.DataRow("到货_第一批_日期")
                ndr.Move(0)
            End If
            If e.DataRow("物资说明") = "焊材" Then
                DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\'")
                Dim ndr As Row = Tables("物资检验详单").AddNew()
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = e.DataRow("物资说明")
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("到货数量") = e.DataRow("到货_第一批_数量")
                ndr("供应商") = e.DataRow("中标情况_中标单位")
                ndr("送检_送检日期") = e.DataRow("到货_第一批_日期")
                ndr.Move(0)
            End If
            If e.DataRow("物资说明") = "紧固件" Then
                DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\'")
                Dim ndr As Row = Tables("物资检验详单").AddNew()
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = e.DataRow("物资说明")
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("到货数量") = e.DataRow("到货_第一批_数量")
                ndr("重量Kg") = "/"
                ndr("炉批号") = "/"
                ndr("标识号") = "/"
                ndr("送检_送检人") = "翟晓晨"
                ndr("供应商") = e.DataRow("中标情况_中标单位")
                ndr("送检_送检日期") = e.DataRow("到货_第一批_日期")
                ndr.Move(0)
            End If
            If e.DataRow("物资说明") = "核电-紧固件" Then
                DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\'")
                Dim ndr As Row = Tables("物资检验详单").AddNew()
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = e.DataRow("物资说明")
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("到货数量") = e.DataRow("到货_第一批_数量")
                ndr("重量Kg") = "/"
                ndr("炉批号") = "/"
                ndr("标识号") = "/"
                ndr("送检_送检人") = "翟晓晨"
                ndr("供应商") = e.DataRow("中标情况_中标单位")
                ndr("送检_送检日期") = e.DataRow("到货_第一批_日期")
                ndr.Move(0)
            End If
            If e.DataRow("物资说明") = "外购件" Then
                DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\'")
                Dim ndr As Row = Tables("物资检验详单").AddNew()
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = e.DataRow("物资说明")
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("到货数量") = e.DataRow("到货_第一批_数量")
                ndr("重量Kg") = "/"
                ndr("炉批号") = "/"
                ndr("标识号") = "/"
                ndr("送检_送检人") = "翟晓晨"
                ndr("供应商") = e.DataRow("中标情况_中标单位")
                ndr("送检_送检日期") = e.DataRow("到货_第一批_日期")
                ndr.Move(0)
            End If
            If e.DataRow("物资说明") = "电气" Then
                DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\'")
                Dim ndr As Row = Tables("物资检验详单").AddNew()
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = e.DataRow("物资说明")
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("到货数量") = e.DataRow("到货_第一批_数量")
                ndr("重量Kg") = "/"
                ndr("炉批号") = "/"
                ndr("标识号") = "/"
                ndr("送检_送检人") = "翟晓晨"
                ndr("供应商") = e.DataRow("中标情况_中标单位")
                ndr("送检_送检日期") = e.DataRow("到货_第一批_日期")
                ndr.Move(0)
            End If
        End If
End Select

Select Case e.DataCol.Name
    Case "到货_第二批_数量","到货_第二批_批次","到货_第二批_日期"
        If e.DataRow.IsNull("到货_第二批_数量") = True Then
            DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\' And 送检_送检日期 = \'" & e.DataRow("到货_第二批_日期") & "\'")
        Else
            If e.DataRow("物资说明") = "原材料" Then
                DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\' And 送检_送检日期 = \'" & e.DataRow("到货_第二批_日期") & "\'")
                For i As Integer = 1 To e.DataRow("到货_第二批_批次")
                    Dim ndr As Row = Tables("物资检验详单").AddNew
                    ndr("序号") = e.DataRow("序号")
                    ndr("编号") = e.DataRow("编号")
                    ndr("预算编号") = e.DataRow("预算编号")
                    ndr("生产令号") = e.DataRow("生产令号")
                    ndr("项目名称") = e.DataRow("项目名称")
                    ndr("物资说明") = e.DataRow("物资说明")
                    ndr("物资名称") = e.DataRow("物资名称")
                    ndr("规格") = e.DataRow("规格")
                    ndr("材质") = e.DataRow("材质")
                    ndr("单位") = e.DataRow("单位")
                    ndr("到货数量") = e.DataRow("到货_第二批_数量")
                    ndr("送检_送检人") = "翟晓晨"
                    ndr("供应商") = e.DataRow("中标情况_中标单位")
                    ndr("送检_送检日期") = e.DataRow("到货_第二批_日期")
                    ndr.Move(0)
                Next
            End If
            If e.DataRow("物资说明") = "辅材" Then
                DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\' And 送检_送检日期 = \'" & e.DataRow("到货_第二批_日期") & "\'")
                Dim ndr As Row = Tables("物资检验详单").AddNew()
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = e.DataRow("物资说明")
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("到货数量") = e.DataRow("到货_第二批_数量")
                ndr("重量Kg") = "/"
                ndr("炉批号") = "/"
                ndr("标识号") = "/"
                ndr("送检_送检人") = "翟晓晨"
                ndr("供应商") = e.DataRow("中标情况_中标单位")
                ndr("送检_送检日期") = e.DataRow("到货_第二批_日期")
                ndr.Move(0)
            End If
            If e.DataRow("物资说明") = "焊材" Then
                DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\' And 送检_送检日期 = \'" & e.DataRow("到货_第二批_日期") & "\'")
                Dim ndr As Row = Tables("物资检验详单").AddNew()
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = e.DataRow("物资说明")
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("到货数量") = e.DataRow("到货_第二批_数量")
                ndr("供应商") = e.DataRow("中标情况_中标单位")
                ndr("送检_送检日期") = e.DataRow("到货_第二批_日期")
                ndr.Move(0)
            End If
            If e.DataRow("物资说明") = "紧固件" Then
                DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\' And 送检_送检日期 = \'" & e.DataRow("到货_第二批_日期") & "\'")
                Dim ndr As Row = Tables("物资检验详单").AddNew()
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = e.DataRow("物资说明")
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("到货数量") = e.DataRow("到货_第二批_数量")
                ndr("重量Kg") = "/"
                ndr("炉批号") = "/"
                ndr("标识号") = "/"
                ndr("送检_送检人") = "翟晓晨"
                ndr("供应商") = e.DataRow("中标情况_中标单位")
                ndr("送检_送检日期") = e.DataRow("到货_第二批_日期")
                ndr.Move(0)
            End If
            If e.DataRow("物资说明") = "核电-紧固件" Then
                DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\' And 送检_送检日期 = \'" & e.DataRow("到货_第二批_日期") & "\'")
                Dim ndr As Row = Tables("物资检验详单").AddNew()
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = e.DataRow("物资说明")
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("到货数量") = e.DataRow("到货_第二批_数量")
                ndr("重量Kg") = "/"
                ndr("炉批号") = "/"
                ndr("标识号") = "/"
                ndr("送检_送检人") = "翟晓晨"
                ndr("供应商") = e.DataRow("中标情况_中标单位")
                ndr("送检_送检日期") = e.DataRow("到货_第二批_日期")
                ndr.Move(0)
            End If
            If e.DataRow("物资说明") = "外购件" Then
                DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\' And 送检_送检日期 = \'" & e.DataRow("到货_第二批_日期") & "\'")
                Dim ndr As Row = Tables("物资检验详单").AddNew()
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = e.DataRow("物资说明")
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("到货数量") = e.DataRow("到货_第二批_数量")
                ndr("重量Kg") = "/"
                ndr("炉批号") = "/"
                ndr("标识号") = "/"
                ndr("送检_送检人") = "翟晓晨"
                ndr("供应商") = e.DataRow("中标情况_中标单位")
                ndr("送检_送检日期") = e.DataRow("到货_第二批_日期")
                ndr.Move(0)
            End If
            If e.DataRow("物资说明") = "电气" Then
                DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\' And 送检_送检日期 = \'" & e.DataRow("到货_第二批_日期") & "\'")
                Dim ndr As Row = Tables("物资检验详单").AddNew()
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = e.DataRow("物资说明")
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("到货数量") = e.DataRow("到货_第二批_数量")
                ndr("重量Kg") = "/"
                ndr("炉批号") = "/"
                ndr("标识号") = "/"
                ndr("送检_送检人") = "翟晓晨"
                ndr("供应商") = e.DataRow("中标情况_中标单位")
                ndr("送检_送检日期") = e.DataRow("到货_第二批_日期")
                ndr.Move(0)
            End If
        End If
End Select

Select Case e.DataCol.Name
    Case "到货_第三批_数量","到货_第三批_批次","到货_第三批_日期"
        If e.DataRow.IsNull("到货_第三批_数量") = True Then
            DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\' And 送检_送检日期 = \'" & e.DataRow("到货_第三批_日期") & "\'")
        Else
            If e.DataRow("物资说明") = "原材料" Then
                DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\' And 送检_送检日期 = \'" & e.DataRow("到货_第三批_日期") & "\'")
                For i As Integer = 1 To e.DataRow("到货_第三批_批次")
                    Dim ndr As Row = Tables("物资检验详单").AddNew
                    ndr("序号") = e.DataRow("序号")
                    ndr("编号") = e.DataRow("编号")
                    ndr("预算编号") = e.DataRow("预算编号")
                    ndr("生产令号") = e.DataRow("生产令号")
                    ndr("项目名称") = e.DataRow("项目名称")
                    ndr("物资说明") = e.DataRow("物资说明")
                    ndr("物资名称") = e.DataRow("物资名称")
                    ndr("规格") = e.DataRow("规格")
                    ndr("材质") = e.DataRow("材质")
                    ndr("单位") = e.DataRow("单位")
                    ndr("到货数量") = e.DataRow("到货_第三批_数量")
                    ndr("送检_送检人") = "翟晓晨"
                    ndr("供应商") = e.DataRow("中标情况_中标单位")
                    ndr("送检_送检日期") = e.DataRow("到货_第三批_日期")
                    ndr.Move(0)
                Next
            End If
            If e.DataRow("物资说明") = "辅材" Then
                DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\' And 送检_送检日期 = \'" & e.DataRow("到货_第三批_日期") & "\'")
                Dim ndr As Row = Tables("物资检验详单").AddNew()
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = e.DataRow("物资说明")
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("到货数量") = e.DataRow("到货_第三批_数量")
                ndr("重量Kg") = "/"
                ndr("炉批号") = "/"
                ndr("标识号") = "/"
                ndr("送检_送检人") = "翟晓晨"
                ndr("供应商") = e.DataRow("中标情况_中标单位")
                ndr("送检_送检日期") = e.DataRow("到货_第三批_日期")
                ndr.Move(0)
            End If
            If e.DataRow("物资说明") = "焊材" Then
                DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\' And 送检_送检日期 = \'" & e.DataRow("到货_第三批_日期") & "\'")
                Dim ndr As Row = Tables("物资检验详单").AddNew()
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = e.DataRow("物资说明")
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("到货数量") = e.DataRow("到货_第三批_数量")
                ndr("供应商") = e.DataRow("中标情况_中标单位")
                ndr("送检_送检日期") = e.DataRow("到货_第三批_日期")
                ndr.Move(0)
            End If
            If e.DataRow("物资说明") = "紧固件" Then
                DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\' And 送检_送检日期 = \'" & e.DataRow("到货_第三批_日期") & "\'")
                Dim ndr As Row = Tables("物资检验详单").AddNew()
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = e.DataRow("物资说明")
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("到货数量") = e.DataRow("到货_第三批_数量")
                ndr("重量Kg") = "/"
                ndr("炉批号") = "/"
                ndr("标识号") = "/"
                ndr("送检_送检人") = "翟晓晨"
                ndr("供应商") = e.DataRow("中标情况_中标单位")
                ndr("送检_送检日期") = e.DataRow("到货_第三批_日期")
                ndr.Move(0)
            End If
            If e.DataRow("物资说明") = "核电-紧固件" Then
                DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\' And 送检_送检日期 = \'" & e.DataRow("到货_第三批_日期") & "\'")
                Dim ndr As Row = Tables("物资检验详单").AddNew()
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = e.DataRow("物资说明")
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("到货数量") = e.DataRow("到货_第三批_数量")
                ndr("重量Kg") = "/"
                ndr("炉批号") = "/"
                ndr("标识号") = "/"
                ndr("送检_送检人") = "翟晓晨"
                ndr("供应商") = e.DataRow("中标情况_中标单位")
                ndr("送检_送检日期") = e.DataRow("到货_第三批_日期")
                ndr.Move(0)
            End If
            If e.DataRow("物资说明") = "外购件" Then
                DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\' And 送检_送检日期 = \'" & e.DataRow("到货_第三批_日期") & "\'")
                Dim ndr As Row = Tables("物资检验详单").AddNew()
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = e.DataRow("物资说明")
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("到货数量") = e.DataRow("到货_第三批_数量")
                ndr("重量Kg") = "/"
                ndr("炉批号") = "/"
                ndr("标识号") = "/"
                ndr("送检_送检人") = "翟晓晨"
                ndr("供应商") = e.DataRow("中标情况_中标单位")
                ndr("送检_送检日期") = e.DataRow("到货_第三批_日期")
                ndr.Move(0)
            End If
            If e.DataRow("物资说明") = "电气" Then
                DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\' And 送检_送检日期 = \'" & e.DataRow("到货_第三批_日期") & "\'")
                Dim ndr As Row = Tables("物资检验详单").AddNew()
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = e.DataRow("物资说明")
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("到货数量") = e.DataRow("到货_第三批_数量")
                ndr("重量Kg") = "/"
                ndr("炉批号") = "/"
                ndr("标识号") = "/"
                ndr("送检_送检人") = "翟晓晨"
                ndr("供应商") = e.DataRow("中标情况_中标单位")
                ndr("送检_送检日期") = e.DataRow("到货_第三批_日期")
                ndr.Move(0)
            End If
        End If
End Select

Select Case e.DataCol.Name
    Case "到货_第四批_数量","到货_第四批_批次","到货_第四批_日期"
        If e.DataRow.IsNull("到货_第四批_数量") = True Then
            DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\' And 送检_送检日期 = \'" & e.DataRow("到货_第四批_日期") & "\'")
        Else
            If e.DataRow("物资说明") = "原材料" Then
                DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\' And 送检_送检日期 = \'" & e.DataRow("到货_第四批_日期") & "\'")
                For i As Integer = 1 To e.DataRow("到货_第四批_批次")
                    Dim ndr As Row = Tables("物资检验详单").AddNew
                    ndr("序号") = e.DataRow("序号")
                    ndr("编号") = e.DataRow("编号")
                    ndr("预算编号") = e.DataRow("预算编号")
                    ndr("生产令号") = e.DataRow("生产令号")
                    ndr("项目名称") = e.DataRow("项目名称")
                    ndr("物资说明") = e.DataRow("物资说明")
                    ndr("物资名称") = e.DataRow("物资名称")
                    ndr("规格") = e.DataRow("规格")
                    ndr("材质") = e.DataRow("材质")
                    ndr("单位") = e.DataRow("单位")
                    ndr("到货数量") = e.DataRow("到货_第四批_数量")
                    ndr("送检_送检人") = "翟晓晨"
                    ndr("供应商") = e.DataRow("中标情况_中标单位")
                    ndr("送检_送检日期") = e.DataRow("到货_第四批_日期")
                    ndr.Move(0)
                Next
            End If
            If e.DataRow("物资说明") = "辅材" Then
                DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\' And 送检_送检日期 = \'" & e.DataRow("到货_第四批_日期") & "\'")
                Dim ndr As Row = Tables("物资检验详单").AddNew()
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = e.DataRow("物资说明")
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("到货数量") = e.DataRow("到货_第四批_数量")
                ndr("重量Kg") = "/"
                ndr("炉批号") = "/"
                ndr("标识号") = "/"
                ndr("送检_送检人") = "翟晓晨"
                ndr("供应商") = e.DataRow("中标情况_中标单位")
                ndr("送检_送检日期") = e.DataRow("到货_第四批_日期")
                ndr.Move(0)
            End If
            If e.DataRow("物资说明") = "焊材" Then
                DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\' And 送检_送检日期 = \'" & e.DataRow("到货_第四批_日期") & "\'")
                Dim ndr As Row = Tables("物资检验详单").AddNew()
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = e.DataRow("物资说明")
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("到货数量") = e.DataRow("到货_第四批_数量")
                ndr("供应商") = e.DataRow("中标情况_中标单位")
                ndr("送检_送检日期") = e.DataRow("到货_第四批_日期")
                ndr.Move(0)
            End If
            If e.DataRow("物资说明") = "紧固件" Then
                DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\' And 送检_送检日期 = \'" & e.DataRow("到货_第四批_日期") & "\'")
                Dim ndr As Row = Tables("物资检验详单").AddNew()
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = e.DataRow("物资说明")
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("到货数量") = e.DataRow("到货_第四批_数量")
                ndr("重量Kg") = "/"
                ndr("炉批号") = "/"
                ndr("标识号") = "/"
                ndr("送检_送检人") = "翟晓晨"
                ndr("供应商") = e.DataRow("中标情况_中标单位")
                ndr("送检_送检日期") = e.DataRow("到货_第四批_日期")
                ndr.Move(0)
            End If
            If e.DataRow("物资说明") = "核电-紧固件" Then
                DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\' And 送检_送检日期 = \'" & e.DataRow("到货_第四批_日期") & "\'")
                Dim ndr As Row = Tables("物资检验详单").AddNew()
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = e.DataRow("物资说明")
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("到货数量") = e.DataRow("到货_第四批_数量")
                ndr("重量Kg") = "/"
                ndr("炉批号") = "/"
                ndr("标识号") = "/"
                ndr("送检_送检人") = "翟晓晨"
                ndr("供应商") = e.DataRow("中标情况_中标单位")
                ndr("送检_送检日期") = e.DataRow("到货_第四批_日期")
                ndr.Move(0)
            End If
            If e.DataRow("物资说明") = "外购件" Then
                DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\' And 送检_送检日期 = \'" & e.DataRow("到货_第四批_日期") & "\'")
                Dim ndr As Row = Tables("物资检验详单").AddNew()
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = e.DataRow("物资说明")
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("到货数量") = e.DataRow("到货_第四批_数量")
                ndr("重量Kg") = "/"
                ndr("炉批号") = "/"
                ndr("标识号") = "/"
                ndr("送检_送检人") = "翟晓晨"
                ndr("供应商") = e.DataRow("中标情况_中标单位")
                ndr("送检_送检日期") = e.DataRow("到货_第四批_日期")
                ndr.Move(0)
            End If
            If e.DataRow("物资说明") = "电气" Then
                DataTables("物资检验详单").DeleteFor("编号=\'" & e.DataRow("编号") & "\' And 送检_送检日期 = \'" & e.DataRow("到货_第四批_日期") & "\'")
                Dim ndr As Row = Tables("物资检验详单").AddNew()
                ndr("序号") = e.DataRow("序号")
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = e.DataRow("物资说明")
                ndr("物资名称") = e.DataRow("物资名称")
                ndr("规格") = e.DataRow("规格")
                ndr("材质") = e.DataRow("材质")
                ndr("单位") = e.DataRow("单位")
                ndr("到货数量") = e.DataRow("到货_第四批_数量")
                ndr("重量Kg") = "/"
                ndr("炉批号") = "/"
                ndr("标识号") = "/"
                ndr("送检_送检人") = "翟晓晨"
                ndr("供应商") = e.DataRow("中标情况_中标单位")
                ndr("送检_送检日期") = e.DataRow("到货_第四批_日期")
                ndr.Move(0)
            End If
        End If
End Select


--  作者:有点甜
--  发布时间:2019/3/11 14:24:00
--  

1、简化代码并不会提升执行效率的。

 

2、你重复的代码,写在一起即可,如

 

Select Case e.DataRow("物资说明")

    case "电气", "外购件", "xxx", "yyy", "zzz"

        \'在这里写重复代码

End Select

[此贴子已经被作者于2019/3/11 14:24:40编辑过]

--  作者:13775189031
--  发布时间:2019/3/11 15:45:00
--  
哦,谢谢!我以为代码简单些会提高计算速度。