以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]这个代码怎么改?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=23009)

--  作者:blackzhu
--  发布时间:2012/8/30 8:56:00
--  [求助]这个代码怎么改?
 For Each ld As DataRow In DataTables("采购订单").DataRows
            For Each dr1 As DataRow In DataTables("供货预报数").Select("[材料编号] = \'" & ld("材料编号")  & "\'And 供货地点 Is Not Null", "供货地点 DESC")
                Dim dr2 As DataRow = DataTables("采购订单").AddNew()
                dr2("船期")=e.Form.Controls("DateTimePicker1").Value
                dr2("材料编号") = dr1("材料编号")
                dr2("供货地点") = dr1("供货地点")
            Next
        Next


   采购订单 多条数据  供货预报数也是多条数据    找到后将供货预报数的数据填充到采购订单,但是在采购订购中是新增的.
能不能先填充到已有数据  不够的再新增?

  


--  作者:狐狸爸爸
--  发布时间:2012/8/30 9:30:00
--  

Dim cnt As Integer
For Each dr1 As DataRow In DataTables("供货预报数").Select("[材料编号] = \'" & ld("材料编号")  & "\'And 供货地点 Is Not Null", "供货地点 DESC")
    cnt = cnt + 1
    Dim dr2 As DataRow
    If DataTables("采购订单").DataRows.count < cnt Then
        DataTables("采购订单").AddNew
    End If
    Dim dr2 As DataRow = DataTables("采购订单").DataRows(cnt)
    dr2("船期")=e.Form.Controls("DateTimePicker1").Value
    dr2("材料编号") = dr1("材料编号")
    dr2("供货地点") = dr1("供货地点")
Next


--  作者:blackzhu
--  发布时间:2012/8/30 10:15:00
--  
老大 这个代码没有执行!
--  作者:blackzhu
--  发布时间:2012/8/30 10:34:00
--  
老大  

If DataTables("采购订单").DataRows.count < cnt Then   这句代码 如何理解   采购订单的行数肯定超过要查找的行数的!

因为 采购订单的材料编码 还有供货预报数里面没有的材料编号呢!

--  作者:狐狸爸爸
--  发布时间:2012/8/30 14:18:00
--  

cnt递增,记录这是要增加的第几行,如果原来有这么多行,就是用原来的行,木有就增加一行。

之前的代码有点问题,有个地方要改一下:

 

Dim cnt As Integer
For Each dr1 As DataRow In DataTables("供货预报数").Select("[材料编号] = \'" & ld("材料编号")  & "\'And 供货地点 Is Not Null", "供货地点 DESC")
    cnt = cnt + 1
    Dim dr2 As DataRow
    If DataTables("采购订单").DataRows.count < cnt Then
        DataTables("采购订单").AddNew
    End If
    Dim dr2 As DataRow = DataTables("采购订单").DataRows(cnt - 1)
    dr2("船期")=e.Form.Controls("DateTimePicker1").Value
    dr2("材料编号") = dr1("材料编号")
    dr2("供货地点") = dr1("供货地点")
Next
 


--  作者:blackzhu
--  发布时间:2012/8/30 14:55:00
--  
出来的效果 不对 都是一样的数据.我用其他的办法解决了.