Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共17 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:请教:删除关联表中相关行的代码?

1楼
yangming 发表于:2009/5/6 9:35:00
我的意思是:由于员工档案表还有二个关联表,一是"个人简历",另一个"成员",所以在很执行下面公式时会出现提示,让我先删除关联表中的相关行后再执行,
请教,删除关联表相关行的代码如何写?
DataTables("员工档案").DeleteFor("[是否转移] = True")

说明一下,关联表是以工号做关联的
2楼
狐狸爸爸 发表于:2009/5/6 9:41:00
也就是在员工简历表中删除工号等于选定行的记录:


DataTables("个人简历").DeleteFor("[工号] = '" & Tables("员工档案").Current("工号") & "'")
3楼
yangming 发表于:2009/5/6 10:26:00
DataTables("个人简历").DeleteFor("[工号] = '" & Tables("员工档案").Current("工号") & "'")
DataTables("家庭成员").DeleteFor("[工号] = '" & Tables("员工档案").Current("工号") & "'")
DataTables("员工档案").DeleteFor("[是否转移] = True")

我做了这样的按钮公式,可是他还是提示说家庭成员表中有关联,要删除,什么原因?
4楼
狐狸爸爸 发表于:2009/5/6 10:33:00

你的代码,前两行是针对当前选定行的,而第三行是针对是否转移为True的行,前后不匹配。

Dim drs As List(Of DataRow) = DataTables("员工档案").Select("[是否转移] = True")
For Each dr As DataRow In drs
    DataTables("个人简历").DeleteFor("[工号] = '" & dr.Current("工号") & "'")
    DataTables("家庭成员").DeleteFor("[工号] = '" & dr.Current("工号") & "'") 
    dr.Delete()   
Next

5楼
mr725 发表于:2009/5/6 10:35:00
帮助中的:如果需要一次操作,即可同时删除父行和对应的子行,可以参考下面的代码:

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

Next

dr.Delete

[此贴子已经被作者于2009-5-6 10:37:04编辑过]
6楼
yangming 发表于:2009/5/6 10:38:00
谢谢贺老师!
7楼
yangming 发表于:2009/5/6 10:44:00
用了四楼代码后出现错误的提示

图片点击可在新窗口打开查看此主题相关图片如下:删除行错误.jpg
图片点击可在新窗口打开查看
8楼
狐狸爸爸 发表于:2009/5/6 10:51:00
Dim drs As List(Of DataRow) = DataTables("员工档案").Select("[是否转移] = True")
For Each dr As DataRow In drs
    DataTables("个人简历").DeleteFor("[工号] = '" & dr("工号") & "'")
    DataTables("家庭成员").DeleteFor("[工号] = '" & dr("工号") & "'") 
    dr.Delete()   
Next


图片点击可在新窗口打开查看
9楼
yangming 发表于:2009/5/6 10:59:00
八楼的公式成功了,再次感谢!呵呵
10楼
狐狸爸爸 发表于:2009/5/6 11:14:00
图片点击可在新窗口打开查看
共17 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03516 s, 2 queries.