以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  求助!  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=2837)

--  作者:baoxyang
--  发布时间:2009/5/19 14:25:00
--  求助!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar

如何实现此功能,望各位帮忙,指教!多谢了!
--  作者:baoxyang
--  发布时间:2009/5/19 14:28:00
--  
本人目的:>表示表A中选中行移到表B中,<表示表B中当前行移动到表A中,>>表示表A中所有行移动到表B中,<<同理。但表A中的数据不能被删除或变动。
--  作者:八婺
--  发布时间:2009/5/19 14:53:00
--  
> =

Dim dr1 As Row =  Tables("表A").Current
Dim dr2 As Row = Tables("表B").Addnew()
For Each dc As Col in Tables("表B").Cols
    dr2(dc.name) = dr1(dc.name)
Next
Tables("表A").Current.Delete


< =

Dim dr1 As Row =  Tables("表B").Current
Dim dr2 As Row = Tables("表A").Addnew()
For Each dc As Col in Tables("表A").Cols
    dr2(dc.name) = dr1(dc.name)
Next
Tables("表B").Current.Delete


后两个不删除原数据,而且是反复的,那不是数据在反复增加中?
--  作者:狐狸爸爸
--  发布时间:2009/5/19 14:56:00
--  
复制选定行:

With Tables("表A")
    For i As Integer = .BottomRow To .TopRow Step -1
        Dim r1 As Row = .Rows(i)
        Dim r2 As Row = Tables("表B").AddNew
        For Each c As Col In .Cols
            r2(c.name) = r1(c.name)
        Next
        r1.Delete()
    Next
End With




复制所有行:

With Tables("表A")
    For i As Integer = .Rows.Count -1 To 0 Step -1
        Dim r1 As Row = .Rows(i)
        Dim r2 As Row = Tables("表B").AddNew
        For Each c As Col In .Cols
            r2(c.name) = r1(c.name)
        Next
        r1.Delete
    Next
End With

--  作者:baoxyang
--  发布时间:2009/5/19 14:57:00
--  
Tables("表B").Current.Delete 这个不是删除功能的,我就是按上面代码编的。出现了原有数据发生了变化,但没有找到原因。所以才请教各位!不知说法是否有误?

--  作者:狐狸爸爸
--  发布时间:2009/5/19 14:57:00
--  
我跑在八婺后面了。

图片点击可在新窗口打开查看

--  作者:狐狸爸爸
--  发布时间:2009/5/19 14:58:00
--  
以下是引用baoxyang在2009-5-19 14:57:00的发言:
Tables("表B").Current.Delete 这个不是删除功能的,我就是按上面代码编的。出现了原有数据发生了变化,但没有找到原因。所以才请教各位!不知说法是否有误?


看4楼


--  作者:baoxyang
--  发布时间:2009/5/19 15:01:00
--  
老大!Tables("表B").Current.Delete
会影响原有数据的吧。
--  作者:狐狸爸爸
--  发布时间:2009/5/19 15:03:00
--  
以下是引用baoxyang在2009-5-19 15:01:00的发言:
老大!Tables("表B").Current.Delete
会影响原有数据的吧。


那就别用这行代码啊。


--  作者:baoxyang
--  发布时间:2009/5/19 15:06:00
--  
本人本想利用显示行或隐藏行来达到以上效果的。但老大说,没有显示第几行的功能,所以才用过,With Tables("表A")
    For i As Integer = .Rows.Count -1 To 0 Step -1
        Dim r1 As Row = .Rows(i)
        Dim r2 As Row = Tables("表B").AddNew
        For Each c As Col In .Cols
            r2(c.name) = r1(c.name)
        Next
        r1.Delete
    Next
End With
但发现原有数据不知为啥,发生了改变。其中表A中的列数与表B中的列数是不一致的。不知是这个原因。