Foxtable(狐表)用户栏目专家坐堂 → 复制行内容


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

主题:复制行内容

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


加好友 发短信
等级:一尾狐 帖子:419 积分:3316 威望:0 精华:0 注册:2012/3/21 10:44:00
复制行内容  发帖心情 Post By:2012/5/21 22:19:00 [只看该作者]

我想复制 统计窗口_Table1 的所有行内容 到计划表  ,请老师帮我修改一下。谢谢

 

Dim r As Row = Tables("统计窗口_Table1").Current
Dim dr As DataRow  = DataTables("计划表").Find("产品型号 = '" & r("产品型号") & "' And 数量 = '"  & r("需求数量") & "'")
If dr Is Nothing Then
    dr = DataTables("计划表").Find("产品型号 Is NUll And 产品型号 Is NuLL")
    If dr Is Nothing Then
        dr = DataTables("计划表").AddNew
    End If
    dr("产品型号") = r("产品型号")
    dr("数量") = r("需求数量")
    dr("下单员") = user.name
    dr("下单日期") = Date.today
End If

 

 


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/5/22 8:42:00 [只看该作者]

Dim dr As DataRow = DataTables("计划表").Find("产品型号 = '" & r("产品型号") & "' And 数量 = '" & r("需求数量") & "'")

 

改为:

 

Dim dr As DataRow = DataTables("计划表").Find("产品型号 = '" & r("产品型号") & "' And 数量 =" & r("需求数量"))

 

建议看看:

http://www.foxtable.com/help/topics/1284.htm

 


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


加好友 发短信
等级:一尾狐 帖子:419 积分:3316 威望:0 精华:0 注册:2012/3/21 10:44:00
  发帖心情 Post By:2012/5/22 10:00:00 [只看该作者]

非常感谢狐爸对我的帮助与支持

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


加好友 发短信
等级:一尾狐 帖子:419 积分:3316 威望:0 精华:0 注册:2012/3/21 10:44:00
  发帖心情 Post By:2012/5/22 22:08:00 [只看该作者]

狐爸我按照你的修改后还是不好用。

我又把它改为以下代码,能用,但是太慢了就相爬蜗牛一样,3000行用了30几秒时间。

求助有没更好的代码,谢谢!!!

 

For Each dr1 As DataRow In DataTables("统计窗口_Table1").DataRows
    If dr1("产品型号") <> Nothing Then
        Dim dr2 As DataRow = DataTables("计划表").Addnew()
       For Each dc As DataCol In DataTables("计划表").DataCols

    dr("产品型号") = r("产品型号")
    dr("数量") = r("需求数量")
    dr("下单员") = user.name
    dr("下单日期") = Date.today

        Next
    End If
Next

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40574 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/5/22 22:32:00 [只看该作者]

For Each r As Row in Tables("统计窗口_Table1").Rows

    Dim dr As DataRow = DataTables("计划表").Addnew()

    dr("产品型号") = r("产品型号")
    dr("数量") = r("需求数量")
    dr("下单员") = user.name
    dr("下单日期") = Date.today
next

 

您多绕弯子了吧,那样的话您的代码多执行(cols-1)× rows遍,自然像蜗牛了,效率极低!


 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40574 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/5/22 22:33:00 [只看该作者]

这样也可以:

 

Dim dr As DataRow

For Each r As Row in Tables("统计窗口_Table1").Rows

    dr = DataTables("计划表").Addnew()

    dr("产品型号") = r("产品型号")
    dr("数量") = r("需求数量")
    dr("下单员") = user.name
    dr("下单日期") = Date.today
next


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/5/23 7:59:00 [只看该作者]

For Each r As DataRow in DataTables("统计窗口_Table1").Select("产品型号 Is Not Null")

     Dim dr As DataRow = DataTables("计划表").Addnew()

     dr("产品型号") = r("产品型号")
     dr("数量") = r("需求数量")
    dr("下单员") = user.name
    dr("下单日期") = Date.today
next


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


加好友 发短信
等级:一尾狐 帖子:419 积分:3316 威望:0 精华:0 注册:2012/3/21 10:44:00
  发帖心情 Post By:2012/5/23 19:45:00 [只看该作者]

谢谢狐爸,你的这段代码比原先的快多了,同时也谢谢程版


 回到顶部