以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 如何从一表向另一表追加记录  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=41685)

--  作者:netfox168
--  发布时间:2013/10/24 23:49:00
--  [求助] 如何从一表向另一表追加记录
一表经过处理(比如筛选)得出有10条记录,我想将该10条记录追加到另一表中去,代码应怎么写?或参考帮助的哪个章节?
--  作者:sloyy
--  发布时间:2013/10/25 0:03:00
--  
Dim nma() As String = {"A","B","C","D","E"} \'A表     数据来源列
    Dim nmb() As String = {"A","B","C","D","E"} \'B表 数据接收列
    For  J As Integer = 0 To Tables("A表").Rows.Count-1
        Tables("A表").Position=J
        Dim dr As DataRow = DataTables("B表").AddNew
        For i As Integer = 0 To nma.Length - 1
            dr(nmb(i)) = Tables("A表").Current(nma(i))
        Next
    Next
DataTables("B表").Save

--  作者:netfox168
--  发布时间:2013/10/25 0:15:00
--  
谢谢!
--  作者:lsy
--  发布时间:2013/10/25 7:57:00
--  

如果两张表之间的数据经常复制,就将有关列的列名设为完全一样。用下面的代码,不用关心具体列名,代码用在另外的表,只要改表名就行了:

For Each r As Row In Tables("表A").Rows
    Dim r1 As Row = Tables("表B").AddNew()
    For Each c As Col In Tables("表A").Cols
        For Each c1 As Col In Tables("表B").Cols
            If c.Name = c1.Name Then               
                r1(c1.Name) = r(c.Name)
            End If
        Next
    Next
Next


--  作者:ZHX241806
--  发布时间:2013/11/2 21:47:00
--  

这确实很好,但如果用鼠标选中A表的任意数行,追加到B表中,那代码怎么写,谢谢!!!


--  作者:有点甜
--  发布时间:2013/11/2 21:54:00
--  
以下是引用ZHX241806在2013-11-2 21:47:00的发言:

这确实很好,但如果用鼠标选中A表的任意数行,追加到B表中,那代码怎么写,谢谢!!!


参考帮助。结合两者。