以文本方式查看主题

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

--  作者:13775189031
--  发布时间:2018/12/1 15:49:00
--  代码

            If e.DataRow("物资说明") = "紧固件" Then
                Dim ndr As DataRow = DataTables("领料清单").Find("预算编号 = \'" & e.DataRow("预算编号") & "\'")
                If ndr Is Nothing Then
                    ndr = Tables("领料清单").AddNew
                End If
                ndr("编号") = e.DataRow("编号")
                ndr("预算编号") = e.DataRow("预算编号")
                ndr("生产令号") = e.DataRow("生产令号")
                ndr("项目名称") = e.DataRow("项目名称")
                ndr("物资说明") = e.DataRow("物资说明")
                ndr("名称") = "/"
                ndr("规格") = "/"
                ndr("材质") = "/"
                ndr("单位") = "批"
                ndr("领料数量") = "1"
                ndr("领料日期") = Date.today

 ndr.Move(0)
            End If
        End If

 

 这段代码加了ndr.Move(0)这句后,显示

 

 


   


此主题相关图片如下:捕获.jpg
按此在新窗口浏览图片

 

要怎么改?


--  作者:有点蓝
--  发布时间:2018/12/1 16:32:00
--  
If e.DataRow("物资说明") = "紧固件" Then
    Dim ndr As DataRow = DataTables("领料清单").Find("预算编号 = \'" & e.DataRow("预算编号") & "\'")
    If ndr Is Nothing Then
        Dim nr As Row = Tables("领料清单").AddNew
        nr.Move(0)
        ndr = nr.DataRow
    End If
    ndr("编号") = e.DataRow("编号")
    ndr("预算编号") = e.DataRow("预算编号")
    ndr("生产令号") = e.DataRow("生产令号")
    ndr("项目名称") = e.DataRow("项目名称")
    ndr("物资说明") = e.DataRow("物资说明")
    ndr("名称") = "/"
    ndr("规格") = "/"
    ndr("材质") = "/"
    ndr("单位") = "批"
    ndr("领料数量") = "1"
    ndr("领料日期") = Date.today
    ndr.Move(0)
End If

--  作者:13775189031
--  发布时间:2018/12/1 17:00:00
--  

谢谢

 


--  作者:13775189031
--  发布时间:2018/12/1 17:07:00
--  

Select Case e.DataCol.name
    Case "预算编号"
        If e.DataRow.IsNull("预算编号") AndAlso e.DataRow("物资说明") = "外购件"  Then
            DataTables("物资采购明细表").DeleteFor("预算编号=\'" & e.DataRow("预算编号") & "\'")
        Else
            Dim ndr1 As DataRow = DataTables("物资采购明细表").Find("预算编号 = \'" & e.DataRow("预算编号") & "\'")
            If ndr1 Is Nothing Then
                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.Move(0)
            End If
        End If
End Select

Select Case e.DataCol.name
    Case "预算编号"
        If e.DataRow.IsNull("预算编号")  AndAlso e.DataRow("物资说明") = "消耗品" Then
            DataTables("物资采购明细表").DeleteFor("预算编号=\'" & e.DataRow("预算编号") & "\'")
        Else
            Dim ndr1 As DataRow = DataTables("物资采购明细表").Find("预算编号 = \'" & e.DataRow("预算编号") & "\'")
            If ndr1 Is Nothing Then
                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.Move(0)
            End If
        End If
End Select

 

“物资说明”为消耗品时,新增行中添加 ndr("物资说明") = e.DataRow("物资说明")

为外购件时,则不需要

但现在都没有添加“物资说明”


--  作者:有点蓝
--  发布时间:2018/12/1 17:15:00
--  
没看懂您想表达什么意思
--  作者:13775189031
--  发布时间:2018/12/5 12:37:00
--  

Select Case e.DataCol.name
Case "预算编号"
If e.DataRow.IsNull("预算编号") AndAlso e.DataRow("物资说明") = "消耗品" Then
DataTables("物资采购明细表").DeleteFor("预算编号=\'" & e.DataRow("预算编号") & "\'")
Else
Dim ndr1 As DataRow = DataTables("物资采购明细表").Find("预算编号 = \'" & e.DataRow("预算编号") & "\'")
If ndr1 Is Nothing Then
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.Move(0)
End If
End If
End Select

 

“物资说明”为消耗品时,在“物资采购明细表”增加行时自动显示“物资名称”

若“物资说明”为玩狗奸尸,在“物资采购明细表”增加行时就不显示“物资名称”

但现在按照上面的代码,在“物资采购明细表”中自动生成行后都不显示“物资名称”,怎么改


--  作者:有点甜
--  发布时间:2018/12/5 12:56:00
--  

Select Case e.DataCol.name
    Case "预算编号", "物资说明", "编制人"
        Dim ndr As object= DataTables("物资采购明细表").Find("预算编号 = \'" & e.DataRow("预算编号") & "\'")
        If ndr Is Nothing Then
            ndr = Tables("物资采购明细表").AddNew
            ndr.Move(0)
        End If
        ndr("预算编号") = e.DataRow("预算编号")
        ndr("生产令号") = e.DataRow("生产令号")
        ndr("项目名称") = e.DataRow("项目名称")
        If e.DataRow("物资说明") = "消耗品" Then
            ndr("物资说明") = e.DataRow("物资说明")
        End If
        ndr("编制人") = e.DataRow("编制人")
        ndr("物资部采购预算编号") = e.DataRow("审核部门_采购预算编号")
        ndr("是否取消采购") = e.DataRow("取消采购")
        ndr("中标情况_招标采购签收日期") = e.DataRow("招采中心_签收日期")
End Select

--  作者:13775189031
--  发布时间:2018/12/7 17:24:00
--  

Select Case e.DataCol.name
    Case "GTAW"
        If e.DataRow("GTAW")=False Then
            DataTables("焊接明细表").DeleteFor("零部件编号 = \'" & e.DataRow("零部件编号") & "\' And 焊缝编号 = \'" & e.DataRow("焊缝编号") & "\' And 工艺卡号 = \'" & e.DataRow("工艺卡号") & "\' And 焊接方法 = \'" & "GTAW" & "\'")
        Else
            Dim ndr2 As DataRow = DataTables("焊接明细表").Find("零部件编号 = \'" & e.DataRow("零部件编号") & "\' And 焊缝编号 = \'" & e.DataRow("焊缝编号") & "\' And 工艺卡号 = \'" & e.DataRow("工艺卡号") & "\' And 焊接方法 = \'" & e.DataRow("焊接方法") & "\'")
            If ndr2 Is Nothing Then
                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("焊接方法") = "GTAW"
                    ndr("数量") = "1"
                    ndr("母材材质_部件1") = e.DataRow("母材材质_部件1")
                    ndr("母材材质_部件2") = e.DataRow("母材材质_部件2")
                    ndr.Move(0)
                Next
            End If
        End If
End Select

 

这段代码,e.DataRow("GTAW")=TRUE时,增加行

e.DataRow("GTAW")=false时,删除行,但现在值为false时,删除行不执行,要怎么改?

 


--  作者:有点甜
--  发布时间:2018/12/7 17:27:00
--  

加上红色代码,看弹出什么

 

        If e.DataRow("GTAW")=False Then

msgbox(1)
            DataTables("焊接明细表").DeleteFor("零部件编号 = \'" & e.DataRow("零部件编号") & "\' And 焊缝编号 = \'" & e.DataRow("焊缝编号") & "\' And 工艺卡号 = \'" & e.DataRow("工艺卡号") & "\' And 焊接方法 = \'" & "GTAW" & "\'")

msgbox("零部件编号 = \'" & e.DataRow("零部件编号") & "\' And 焊缝编号 = \'" & e.DataRow("焊缝编号") & "\' And 工艺卡号 = \'" & e.DataRow("工艺卡号") & "\' And 焊接方法 = \'" & "GTAW" & "\'")
        Else


--  作者:13775189031
--  发布时间:2018/12/7 17:38:00
--  

找到原因了

谢谢!