Foxtable(狐表)用户栏目专家坐堂 → 下面的代码可以改为以不新增行的方法执行吗?


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

主题:下面的代码可以改为以不新增行的方法执行吗?

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


加好友 发短信
等级:三尾狐 帖子:698 积分:5612 威望:0 精华:0 注册:2013/4/9 6:59:00
下面的代码可以改为以不新增行的方法执行吗?  发帖心情 Post By:2013/5/21 10:26:00 [只看该作者]

Tables("A表).Sort = "社区统计 DESC"

Dim Cols1() As String = {"社区","社区统计"}
Dim Cols2() As String = {"社区","社区统计"}
For Each dr1 As Row In Tables("A表").Rows
    Dim dr2 As Row = Tables("B表").AddNew()
    For i As Integer = 0 To Cols1.Length -1
        dr2(Cols2(i)) = dr1(Cols1(i))
    Next
Next

先将A表按照社区统计排序,然后在B表内新增,把排序后的表A的“社区”、“社区统计”的内容复制到表B的“社区”、“社区统计”里去。

怎样让B表不需要新增行直接把排序后的表A的“社区”、“社区统计”的内容复制到表B的“社区”、“社区统计”里去?

datarow 和 row搞错了 改一下
[此贴子已经被作者于2013-5-21 10:57:22编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/5/21 10:30:00 [只看该作者]

怎么样个复制法?
dim i as Integer=0
For Each dr1 As DataRow In Tables("A表").DataRows
    Dim dr2 As DataRow = Tables("B表")DataRows(i)
    For i As Integer = 0 To Cols1.Length -1
        dr2(Cols2(i)) = dr1(Cols1(i))
    Next
  i=i+1
Next
这样? 要是行数不一致怎么办?



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


加好友 发短信
等级:八尾狐 帖子:1812 积分:12993 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2013/5/21 10:54:00 [只看该作者]

参考:数据填充器


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


加好友 发短信
等级:三尾狐 帖子:698 积分:5612 威望:0 精华:0 注册:2013/4/9 6:59:00
  发帖心情 Post By:2013/5/21 11:19:00 [只看该作者]

试用了一下filler,filler只能对datatable操作,不能对table操作

f.SourceTable属性不能对tables,只能对datables。

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/5/21 11:22:00 [只看该作者]

dim i as Integer=0
For Each dr1 As DataRow In Tables("A表").DataRows
    Dim dr2 As DataRow
    if i<dataTables("B表")DataRows.Count then
    dr2= dataTables("B表").AddNew()
    else
    dr2= Tables("B表")DataRows
   end if
    For i As Integer = 0 To Cols1.Length -1
        dr2(Cols2(i)) = dr1(Cols1(i))
    Next
  i=i+1
Next
[此贴子已经被作者于2013-5-21 11:22:43编辑过]

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


加好友 发短信
等级:三尾狐 帖子:698 积分:5612 威望:0 精华:0 注册:2013/4/9 6:59:00
  发帖心情 Post By:2013/5/22 9:30:00 [只看该作者]

Dim i As Integer=0

For Each dr1 As Row In Tables("表A").Rows
    Dim dr2 As Row
    If i< Tables("表A").Rows.Count Then
        dr2= Tables("表B").AddNew()
    Else
        dr2= Tables("表B").Rows(i)
    End If
    For i As Integer = 0 To Cols1.Length -1
        dr2(Cols2(i)) = dr1(Cols1(i))
    Next
    i=i+1
Next


出现错误,错误提示为:

变量i在封闭块中隐藏变量
错误代码:For i as a Interger = 0 To Cols1.Lenth -1

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/5/22 9:31:00 [只看该作者]

你又2个I变量了.删掉一个.不要硬套

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


加好友 发短信
等级:三尾狐 帖子:698 积分:5612 威望:0 精华:0 注册:2013/4/9 6:59:00
  发帖心情 Post By:2013/5/22 10:13:00 [只看该作者]

For i As Integer = 0 To Cols1.Length -1
这句怎么改啊?

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/5/22 10:16:00 [只看该作者]

Dim i As Integer=0

For Each dr1 As Row In Tables("表A").Rows
    Dim dr2 As Row
    If i< Tables("表A").Rows.Count Then
        dr2= Tables("表B").AddNew()
    Else
        dr2= Tables("表B").Rows(i)
    End If
    For i As Integer = 0 To Cols1.Length -1
        dr2(Cols2(i)) = dr1(Cols1(i))
    Next
    i=i+1
Next
红色部分意义何在?为什么不去掉.I重复了.  黄色标注部分,你改为R或者N 其他的不就好了吗?

 回到顶部