以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  这些 Addnew 有点奇怪  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=195703)

--  作者:edisontsui
--  发布时间:2025/3/3 9:17:00
--  这些 Addnew 有点奇怪
                    For Each dr1 As DataRow In drs1
                        If dr1.isnull("半成品代号") = False Then
                            Dim dra As DataRow = DataTables("弯头开料单").AddNew()
                            dra("票号") = dt3 & s3
                            dra("订单号") = e.DataRow("销售单号")
                            dra("制造产品号") = dr1("半成品名称")
                            dra("原材料") = dr1("原材料")
                            dra("型号") = dr1("原料代号")
                            dra("开料参数") = dr1("半成品代号")
                            dra("套数") = e.DataRow("要求生产数量")
                            dra("数量") = e.DataRow("要求生产数量") * dr1("数量")
                            dra.save
                            msgbox("原料代号 = " & dr1("原料代号"))
                        Else
                            Dim dra As DataRow = DataTables("弯头开料单").AddNew()
                            dra("票号") = dt3 & s3
                            dra("订单号") = e.DataRow("销售单号")
                            dra("制造产品号") = dr1("产品名称")
                            dra("原材料") = dr1("原材料")
                            dra("型号") = dr1("原料代号")
                            dra("开料参数") = dr1("产品代号")
                            dra("套数") = e.DataRow("要求生产数量")
                            dra("数量") = e.DataRow("要求生产数量") * dr1("数量")
                            dra.save
                            msgbox("原料代号 = " & dr1("原料代号"))
                        End If 
                    Next

上述 addnew 起不了作用,但是 msgbox 的提示是正确的。也就是说,在 "弯头开料单" 里面不会新增加行并填入数据。我把 DataTables("弯头开料单") 改为 Tables("弯头开料单") 也一样的结果。请问是什么原因呢?

--  作者:edisontsui
--  发布时间:2025/3/3 9:36:00
--  
好像另有原因会导致新增行删除了。我再查一下。