Foxtable(狐表)用户栏目专家坐堂 → [求助]这个代码怎么改?


  共有8304人关注过本帖树形打印复制链接

主题:[求助]这个代码怎么改?

帅哥哟,离线,有人找我吗?
blackzhu
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
[求助]这个代码怎么改?  发帖心情 Post By: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


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

  


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By: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
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/8/30 10:15:00 [只看该作者]

老大 这个代码没有执行!

 回到顶部
帅哥哟,离线,有人找我吗?
blackzhu
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/8/30 10:34:00 [只看该作者]

老大  

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

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

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By: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
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2012/8/30 14:55:00 [只看该作者]

出来的效果 不对 都是一样的数据.我用其他的办法解决了.

 回到顶部