以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关联表删除数据!  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=1671)

--  作者:woodiy
--  发布时间:2009/1/20 20:56:00
--  关联表删除数据!

关联表中在父表中删除行时出现"请先删除关联数据"的提示,查看帮助,需要如下设置,请问这个是设置在按钮中的:Click中吗?  为什么我不行啊!


 

我们知道,如果要删除父表中的某一行,必须先在关联表中删除对应的子行,这样必须进行两次操作,才能成功删除一个父行。
如果需要一次操作,即可同时删除父行和对应的子行,可以参考下面的代码:

Dim dr As DataRow = DataTables("产品").DataRows(0)
For Each
sr As DataRow In dr.GetChildRows("订单")
    sr.Delete()

Next

dr.Delete


--  作者:czy
--  发布时间:2009/1/20 21:21:00
--  

首先要取到当前行的行号才行。


--  作者:smileboy
--  发布时间:2009/1/20 21:22:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


--  作者:czy
--  发布时间:2009/1/20 21:22:00
--  
这样也行:

DataTables("订单").DeleteFor("[产品编号] = \'"& CurrentTable.Current("产品编号") &"\'")
CurrentTable.Current.Delete()

--  作者:blackzhu
--  发布时间:2009/1/21 8:38:00
--  
以下是引用czy在2009-1-20 21:22:00的发言:
这样也行:

DataTables("订单").DeleteFor("[产品编号] = \'"& CurrentTable.Current("产品编号") &"\'")
CurrentTable.Current.Delete()

   老大我测试了一下,你那个不行,smileboy版主OK.


--  作者:狐狸爸爸
--  发布时间:2009/1/21 10:51:00
--  
C版的代码没有问题的,如果产品编码是数字,不要用单引号。