Foxtable(狐表)用户栏目专家坐堂 → [求助]多条件删除


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

主题:[求助]多条件删除

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


加好友 发短信
等级:三尾狐 帖子:636 积分:5699 威望:0 精华:0 注册:2012/8/2 19:04:00
[求助]多条件删除  发帖心情 Post By:2012/9/10 15:15:00 [只看该作者]

 

   请问下,表1跟表2的第一列,第二列,第三列的数据都一样的时候,将表1的该条数据删除后,表2也跟着删除!

 

     麻烦各位看看这个代码怎么写~!谢谢啦!


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


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


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


加好友 发短信
等级:三尾狐 帖子:636 积分:5699 威望:0 精华:0 注册:2012/8/2 19:04:00
  发帖心情 Post By:2012/9/10 15:57:00 [只看该作者]

谢谢狐爸~

 

  这个只有根据一个产品编号,加多两个条件要怎么写,就是我一条数据要通过3个条件才能定位!


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


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

呵呵,你又来了,你可以跨表引用合成三列条件,可以跨表更新合成三列条件。

同步删除就不行了?

你自己主动点,你不要总是等者别人帮你全部写好,至少自己先去写,我们是答疑解惑,不是帮你写代码的啊。

 

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

[此贴子已经被作者于2012-9-10 16:01:24编辑过]

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


加好友 发短信
等级:三尾狐 帖子:636 积分:5699 威望:0 精华:0 注册:2012/8/2 19:04:00
  发帖心情 Post By:2012/9/10 16:01:00 [只看该作者]

嘻嘻~我错了!好叻!

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


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

这就对了,最重要的是先去做,遇到问题再解决,坐等别人写好的代码,是不会有进步的。

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


加好友 发短信
等级:三尾狐 帖子:636 积分:5699 威望:0 精华:0 注册:2012/8/2 19:04:00
  发帖心情 Post By:2012/9/10 16:39:00 [只看该作者]

Dim dr As DataRow = DataTables("检测项目明细").Find("委托编号 = '" & e.DataRow("委托编号") & "'and 样品编号 = '" & e.DataRow("样品编号") & "' and 加载项目 = '" & e.DataRow("检测项目") & "'")
If dr IsNot Nothing Then
    dr.Delete()
End If

 

狐爸,这样子我可以删除符合三个条件的数据,但是表1表2只能同时删除一条数据,现在有个问题就是,在表1这条数据是唯一的,在表2这条数据有很多子项目,这些只能删除其中的一条!

 

其实就相当于关联表的删除,要把所有子项目都删了,这个要怎么弄


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


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

方法一: 

Dim drs As List (of DataRow)
drs = DataTables("检测项目明细").Find("委托编号 = '" & e.DataRow("委托编号") & "'and 样品编号 = '" & e.DataRow("样品编号") & "' and 加载项目 = '" & e.DataRow("检测项目") & "'")
For Each dr  As DataRow In drs
    dr.delete
Next

 

方法二:

DataTables("检测项目明细").DeleteFor("委托编号 = '" & e.DataRow("委托编号") & "'and 样品编号 = '" & e.DataRow("样品编号") & "' and 加载项目 = '" & e.DataRow("检测项目") & "'")

 

[此贴子已经被作者于2012-9-10 16:47:17编辑过]

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


加好友 发短信
等级:三尾狐 帖子:636 积分:5699 威望:0 精华:0 注册:2012/8/2 19:04:00
  发帖心情 Post By:2012/9/10 17:01:00 [只看该作者]

可以了~~谢谢狐爸!

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


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

方法一是错的,应该:

 

Dim drs As List (of DataRow)
drs = DataTables("检测项目明细").Select("委托编号 = '" & e.DataRow("委托编号") & "'and 样品编号 = '" & e.DataRow("样品编号") & "' and 加载项目 = '" & e.DataRow("检测项目") & "'")
For Each dr As DataRow In drs
    dr.delete
Next


 回到顶部