Foxtable(狐表)用户栏目专家坐堂 → 想删除明细表的关联内容,怎么办?


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

主题:想删除明细表的关联内容,怎么办?

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


加好友 发短信
等级:婴狐 帖子:1 积分:70 威望:0 精华:0 注册:2012/12/26 22:07:00
想删除明细表的关联内容,怎么办?  发帖心情 Post By:2012/12/26 22:13:00 [只看该作者]

想删除明细表的关联内容,怎么办!

With Tables("出库.出库明细")
    Dim i As Integer
    Dim ti As Integer=.Rows.count-1
    For i=0 To ti
        .Rows.Delete(i)
    Next
End With

提示:调用的目标发生异常
   

看帮助里关于ROWS

Tables("订单").Rows.Delete(0)

Tables("订单").Rows(0).Delete()

区别是什么啊?


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


加好友 发短信
等级:三尾狐 帖子:682 积分:5263 威望:0 精华:0 注册:2012/6/6 14:37:00
  发帖心情 Post By:2012/12/27 6:23:00 [只看该作者]

i 在变化啊 不要用 rows(i)delete,用删除当前即可

 

.current.Delete

[此贴子已经被作者于2012-12-27 6:28:51编辑过]

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


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

原因在这里:

 

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

 

更好的方法是:

 

For Each dr As DataRow in Tables("出库").Current.DataRow.GetChildRows("出库明细")

     dr.Delete()

Next

 

 

参考:

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

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

 


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


加好友 发短信
等级:四尾狐 帖子:977 积分:6806 威望:0 精华:1 注册:2012/8/7 22:03:00
  发帖心情 Post By:2012/12/27 8:18:00 [只看该作者]

With Tables("出库.出库明细")
    For i As Integer = .Rows.count-1 To 0 Step -1
        .Rows(i).Delete()
    Next
End With

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


加好友 发短信
等级:四尾狐 帖子:977 积分:6806 威望:0 精华:1 注册:2012/8/7 22:03:00
  发帖心情 Post By:2012/12/27 8:20:00 [只看该作者]

还有,你的这个代码好像是删除整个表的数据,不是删除关联数据
[此贴子已经被作者于2012-12-27 8:23:13编辑过]

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


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

最好的办法是在出库的BeforeDeleteDataRow加上代码:

 

For Each dr As DataRow in e.DataRow.GetChildRows("出库明细")

    dr.Delete()

Next


 回到顶部