以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]我想设计一个功能是表A删除一行之后,表B自动加入表A删除的那行数据  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=12944)

--  作者:beiliyukun
--  发布时间:2011/9/21 16:44:00
--  [求助]我想设计一个功能是表A删除一行之后,表B自动加入表A删除的那行数据

我想设计一个功能是表A删除一行之后,表B自动加入表A删除的那行的数据,哪位大哥告诉我一下这个功能的代码怎么写呢?

我看了帮助里的这个

DataRowDeleting

正在删除一行的时候执行,这时行还未被删除。

e参数属性: 

DataTable:返回要删除行的数据表。
DataRow:  返回要删除的数据行

不是很明白,谁能告诉我下代码怎么写呢???
--  作者:狐狸爸爸
--  发布时间:2011/9/21 16:49:00
--  

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目96.table

 

设置表A的DataRowDeleting事件:

 

Dim dr1 As DataRow = e.DataRow
Dim dr2 As DataRow = DataTables("表B").AddNew
For Each dc As DataCol In DataTables("表B").DataCols
    If DataTables("表A").DataCols.Contains(dc.name) Then
        dr2(dc.name) = dr1(dc.name)
    End If
Next

 


--  作者:qianhouge
--  发布时间:2011/9/22 7:44:00
--  

原来是这样做的啊!!谢谢了!!


--  作者:digman2008
--  发布时间:2011/9/22 8:04:00
--  

这是什么格式的代码  vba?


--  作者:狐狸爸爸
--  发布时间:2011/9/22 8:36:00
--  

vb.net

和vba的语法相近。


--  作者:beiliyukun
--  发布时间:2011/9/22 15:27:00
--  

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

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

我按照狐狸爸爸的代码操作了,可是为什么A表中删除的数据,在B表中是从第11行开始记录的呢???

设置表A的DataRowDeleting事件:

 

Dim dr1 As DataRow = e.DataRow
Dim dr2 As DataRow = DataTables("表B").AddNew
For Each dc As DataCol In DataTables("表B").DataCols
    If DataTables("表A").DataCols.Contains(dc.name) Then
        dr2(dc.name) = dr1(dc.name)
    End If
Next

麻烦狐狸爸爸帮帮忙,表A中删除的数据可不可以在表B中从第一行开始按照原来的顺寻排列呢


--  作者:狐狸爸爸
--  发布时间:2011/9/22 15:40:00
--  
呵呵,你删除表B原来的那些空行就行了啊。
--  作者:qianhouge
--  发布时间:2011/12/1 14:37:00
--  

回贴再细看!