以文本方式查看主题 - 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 -- 求助!
如何实现此功能,望各位帮忙,指教!多谢了! |
||||
-- 作者: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 这个不是删除功能的,我就是按上面代码编的。出现了原有数据发生了变化,但没有找到原因。所以才请教各位!不知说法是否有误?
|
||||
-- 作者:baoxyang -- 发布时间:2009/5/19 15:01:00 --
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2009/5/19 15:03:00 -- 以下是引用baoxyang在2009-5-19 15:01:00的发言:
|
||||
-- 作者: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中的列数是不一致的。不知是这个原因。 |