Foxtable(狐表)用户栏目专家坐堂 → [求助]删除子表对应行


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

主题:[求助]删除子表对应行

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


加好友 发短信
等级:童狐 帖子:277 积分:2437 威望:0 精华:0 注册:2011/8/28 12:23:00
[求助]删除子表对应行  发帖心情 Post By:2012/6/28 12:43:00 [只看该作者]

父表与子表一对多 已关联 e.datarow.getchildrows("子表表名").clear 这句代码没起效果也 ps:我是写在beforesavedatarow里 因为修改父表行后需要更新子表数据 所以干脆先删掉子表行数据,再加一遍

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40568 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/6/28 14:01:00 [只看该作者]

那要在修改前删掉!

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/6/28 14:58:00 [只看该作者]

For Each dr DataRow in e.datarow.getchildrows("子表表名")

     dr.Delete

Next

 

 不过一般是这样解决的:

http://www.foxtable.com/help/topics/1644.htm

 


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7235 积分:40568 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2012/6/28 15:19:00 [只看该作者]

关键是他用的事件不对,beforesavedatarow事件中删除子表,如果是修改了父表的关联列,这时候的子表的关联行根本就找不到了,删除代码根本没有起作用!

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


加好友 发短信
等级:三尾狐 帖子:760 积分:4714 威望:0 精华:0 注册:2011/12/17 18:37:00
  发帖心情 Post By:2012/6/28 21:46:00 [只看该作者]

直接点:

Dim r As Row = Tables("父表").Current
If r IsNot Nothing Then
    DataTables("子表").DeleteFor("关联列 ='" & r("关联列") & "'")
End If

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


加好友 发短信
等级:童狐 帖子:277 积分:2437 威望:0 精华:0 注册:2011/8/28 12:23:00
  发帖心情 Post By:2012/6/29 5:50:00 [只看该作者]

以下是引用狐狸爸爸在2012-6-28 14:58:00的发言:

For Each dr DataRow in e.datarow.getchildrows("子表表名")

     dr.Delete

Next

 

 不过一般是这样解决的:

http://www.foxtable.com/help/topics/1644.htm

 

谢谢狐爸,第一个方法ok了

第二个方法和其他几位的都是父表行和子表行一起删除,不是我要的效果

我是父表行对应不定的子表行(由父表行的内容决定)

然后基本修改每个父表列都要去更新判断

所以我就干脆先把修改过的父表行对应的子表行删掉

重新代码提取父表行数据到子表去生成

父表行修改过的有代码判断否?所以我用

beforesavedatarow
 

[此贴子已经被作者于2012-6-29 5:54:12编辑过]

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


加好友 发短信
等级:童狐 帖子:277 积分:2437 威望:0 精华:0 注册:2011/8/28 12:23:00
  发帖心情 Post By:2012/6/29 5:52:00 [只看该作者]

追问下 clear为什么不对呢


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


加好友 发短信
等级:童狐 帖子:277 积分:2437 威望:0 精华:0 注册:2011/8/28 12:23:00
  发帖心情 Post By:2012/6/29 23:21:00 [只看该作者]

以下是引用程兴刚在2012-6-28 15:19:00的发言:
关键是他用的事件不对,beforesavedatarow事件中删除子表,如果是修改了父表的关联列,这时候的子表的关联行根本就找不到了,删除代码根本没有起作用!

有无好的方法判断数据行是否有更新(10多个列)

每1列更改都对我的子表有影响

ps:话说回来,如果狐表可以在关联表时也加上表达式就好了

比如我表b第一列=表a第一列+表a第二列


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2012/6/30 8:04:00 [只看该作者]

关联表本来就可以加表达式啊


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


加好友 发短信
等级:童狐 帖子:277 积分:2437 威望:0 精华:0 注册:2011/8/28 12:23:00
  发帖心情 Post By:2012/6/30 20:08:00 [只看该作者]

以下是引用狐狸爸爸在2012-6-30 8:04:00的发言:

关联表本来就可以加表达式啊

啊,口误

呵呵

但是还有以下问题

1.clear为什么不对?

2.如何判断行是否有字段更新?(我放代码的地方对么)


 回到顶部
总数 11 1 2 下一页