设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2799|回复: 8
打印 上一主题 下一主题

[ADO/DAO] 求教:如何删除表中指定的记录

[复制链接]
跳转到指定楼层
1#
发表于 2012-8-23 15:58:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
假如有这么个表:有N行记录,重复记录有很多,分别在20,50,100,120,180.....,我想删除第120行的那条记录,该如何用ADO操作?

假如筛选不行,假如movenext可以但效率太低;有木有其他好方法?谢谢
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2012-8-23 16:53:44 | 只看该作者
本帖最后由 todaynew 于 2012-8-23 16:57 编辑

rs.Move  阁下打算从当前记录位置移动的记录数

如:

function DelRecord(rs as adodb.recordset, n as long)
    rs.move n
    rs.delete
    rs.update
end function

点评

这个强,以前没用过,我以为要FIND、MATCH之类的~  发表于 2012-8-24 11:23
谢谢斑竹,我先试试  发表于 2012-8-23 17:14
3#
发表于 2012-8-23 19:59:29 | 只看该作者
delete * from 表  where id=XX

点评

谢谢,这样是否会把全部相同记录删除?(重复记录:各字段完全一样)  发表于 2012-8-24 11:55

点击这里给我发消息

4#
发表于 2012-8-23 21:37:39 | 只看该作者
本帖最后由 鱼儿游游 于 2012-8-23 21:41 编辑

delete from 表  where <条件>   

注意:delete *  from 表  where <条件>   在 ACCESS+SQL 环境下会报错。

点评

第2行该不会报错吧,记得ACC是支持SQL92来着.sqlserver的不能加*  发表于 2012-8-24 11:59
谢谢,加条件筛选应该不行,重复记录的各字段完全相同  发表于 2012-8-24 11:56
5#
发表于 2012-8-23 23:15:36 | 只看该作者
是否可以考虑Dcount,然后用条件 In呢?例如:
DELETE Tbl_Train.*, DCount("bu","tbl_train","examscore<=" & [examscore]) AS 表达式1
FROM Tbl_Train
WHERE (((DCount("bu","tbl_train","examscore<=" & [examscore])) In (5,7,9)))

点评

谢谢.字母有点多.象是也用了筛选了吧.  发表于 2012-8-24 12:08
6#
发表于 2012-8-24 12:48:26 | 只看该作者
楼主的问题是删除指定的记录还是删除重复的记录呀
7#
发表于 2012-8-24 20:07:11 | 只看该作者
关键在In语句里。由于楼主是固定删除某个位置的记录,因此如果表中存在自动编号字段,用Dcount很容易获取这些记录的位置,再用In条件来删除即可。
而至于删除重复记录,其实也是类似的,用Dcount按固定条件来计算,把大于1的记录删除即可。

如果实在嫌Dcount效率低,则可以:
1、先按向导生成重复记录,导出到Excel备用。
2、删除Access中重复记录。
3、在Excel中Countif函数处理重复记录,或者用高级筛选获取不重复值(即重复记录只显示1条)。
4、不用多说了,把这些记录导入或者追加到原表中即可。

点评

感谢斑竹指导  发表于 2012-8-25 11:19
8#
发表于 2015-8-4 22:30:42 | 只看该作者
漫步,您到底采用了哪种方法解决的呀,能说一下吗?{:soso_e183:}
9#
 楼主| 发表于 2015-8-5 13:27:09 | 只看该作者
purplerose 发表于 2015-8-4 22:30
漫步,您到底采用了哪种方法解决的呀,能说一下吗?

呵呵,吓我一跳,啥时候发过这个帖子
我忘了,你都试试吧
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-12-1 17:28 , Processed in 0.100011 second(s), 41 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表