以文本方式查看主题

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

--  作者:13775189031
--  发布时间:2024/11/4 13:14:00
--  代码问题
请教老师:想实现逻辑列“下料”、“零件机加工”、“成型”,无论勾选任一列,都按照“零部件编号”只生成一行(只要零部件编号相同就只生成一行),要求全部都不勾选时才删除行,其中一列不勾选的话,增加的行不变。下面的代码要怎么改?

Select Case e.DataCol.name
    Case "下料","零件机加工","成型"
        If e.DataRow("下料") = False OrElse e.DataRow("零件机加工") = False OrElse e.DataRow("成型") = False Then
            DataTables("下料机加工清单").DeleteFor("零部件编号=\'" & e.DataRow("零部件编号") & "\'")
        Else
            Dim ndr1 As DataRow = DataTables("下料机加工清单").Find("零部件编号 = \'" & 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("工序流程") = e.DataRow("工序流程")
            ndr.Move(0)
            ndr("_sortkey") = DataTables("下料机加工清单").sqlcompute("min([_sortkey])") - 0.00000001
        End If
End Select


--  作者:有点蓝
--  发布时间:2024/11/4 13:18:00
--  
            Dim ndr As DataRow = DataTables("下料机加工清单").Find("零部件编号 = \'" & e.DataRow("零部件编号") & "\'")
if ndr is nothing
            ndr  = DataTables("下料机加工清单").AddNew
endif
            ndr("零部件编号") = e.DataRow("零部件编号")

--  作者:13775189031
--  发布时间:2024/11/4 13:34:00
--  
显示编译错误“move”不是“datarow”的成员
--  作者:有点蓝
--  发布时间:2024/11/4 13:55:00
--  
            Dim k As integer= Tables("下料机加工清单").Find("零部件编号 = \'" & e.DataRow("零部件编号") & "\'")
Dim ndr As DataRow
if  k=-1
ndr = Tables("下料机加工清单").AddNew
else
ndr  = Tables("下料机加工清单").rows(k)
end if


--  作者:13775189031
--  发布时间:2024/11/4 13:59:00
--  
图片点击可在新窗口打开查看
--  作者:有点蓝
--  发布时间:2024/11/4 14:07:00
--  
改为findrow:http://www.foxtable.com/webhelp/topics/0553.htm