Foxtable(狐表)用户栏目专家坐堂 → 请教:删除关联表中相关行的代码?


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

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

美女呀,离线,留言给我吧!
yangming
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
请教:删除关联表中相关行的代码?  发帖心情 Post By:2009/5/6 9:35:00 [只看该作者]

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

说明一下,关联表是以工号做关联的

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


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

也就是在员工简历表中删除工号等于选定行的记录:


DataTables("个人简历").DeleteFor("[工号] = '" & Tables("员工档案").Current("工号") & "'")

 回到顶部
美女呀,离线,留言给我吧!
yangming
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/5/6 10:26:00 [只看该作者]

DataTables("个人简历").DeleteFor("[工号] = '" & Tables("员工档案").Current("工号") & "'")
DataTables("家庭成员").DeleteFor("[工号] = '" & Tables("员工档案").Current("工号") & "'")
DataTables("员工档案").DeleteFor("[是否转移] = True")

我做了这样的按钮公式,可是他还是提示说家庭成员表中有关联,要删除,什么原因?

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By: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


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By: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编辑过]

 回到顶部
美女呀,离线,留言给我吧!
yangming
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/5/6 10:38:00 [只看该作者]

谢谢贺老师!

 回到顶部
美女呀,离线,留言给我吧!
yangming
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/5/6 10:44:00 [只看该作者]

用了四楼代码后出现错误的提示

图片点击可在新窗口打开查看此主题相关图片如下:删除行错误.jpg
图片点击可在新窗口打开查看

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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By: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


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

 回到顶部
美女呀,离线,留言给我吧!
yangming
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:超级版主 帖子:4109 积分:23338 威望:0 精华:21 注册:2008/9/1 20:07:00
  发帖心情 Post By:2009/5/6 10:59:00 [只看该作者]

八楼的公式成功了,再次感谢!呵呵

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


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

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

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