删除所有符合指定条件的记录
时 间:2017-04-25 10:35:11
作 者:杨雪 ID:42182 城市:南京
摘 要:删除数据技巧: SetOption 方法、Do While…Loop 语句
正 文:
如果需要一次性删除所有符合条件的记录,可以先通过Filter 属性筛选出所有符合条件的记录,再使用RunCommand 方法和Do While…Loop 语句逐条删除符合条件的所有记录,其具体语法:
Do While [循环结束的条件] Me.Filter = [筛选条件] Me.FilterOn = True DoCmd.RunCommand acCmdDeleteRecord Loop
为了避免Access内置对话框的干扰,需要使用Application 对象的SetOption 方法在程序运行过程中进行屏蔽,其具体语法:
'禁用系统内置的删除提示对话框 Application.SetOption "Confirm Action Queries", 0 Application.SetOption "Confirm Document Deletions", 0 Application.SetOption "Confirm Record Changes", 0
在程序结束运行前,还需要解除内置对话框的屏蔽,否则会使程序在其他Access 应用时出现内置对话框不能使用的情况。解除屏蔽的方法为,将上述3条代码中的“0”改为“1”。
代码:
'删除所有部门符合指定条件的记录 Private Sub cmd_删除_Click() '当所有符合条件的数据删除完毕,或者没有符合条件的 _ 记录时,单击“删除”按钮出错 On Error GoTo 删除完毕 '禁用系统内置的删除提示对话框 Application.SetOption "Confirm Action Queries", 0 Application.SetOption "Confirm Document Deletions", 0 Application.SetOption "Confirm Record Changes", 0 '自定义删除提示对话框 Dim Msg As Integer Msg = MsgBox("确认全部删除?", vbOKCancel) '删除符合条件的对话框 If Msg = vbOK Then '删除所有符合条件的记录 Do While Me.Recordset.EOF = False Me.Filter = "[部门] like '*" & txt_部门 & "*'" Me.FilterOn = True DoCmd.RunCommand acCmdDeleteRecord Loop 删除完毕: MsgBox "删除完毕!" Else MsgBox "已取消删除!" End If '显示删除所有符合条件的记录后剩余的记录 Me.FilterOn = False '启用系统的内置对话框 Application.SetOption "Confirm Action Queries", 1 Application.SetOption "Confirm Document Deletions", 1 Application.SetOption "Confirm Record Changes", 1 End Sub
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 【Access选项卡示例】Ac...(09.09)
- 【Access源码示例】按输入...(09.02)
- 【Access日期区间段查询】...(08.29)
- 【Access日期区间段查询】...(08.27)
- Access怎样才能实现日期时...(08.21)
- 【Access定时打开查询】A...(08.19)
- Access生成固定数量的记录...(08.13)
- Access怎样才能实现日期时...(08.12)
- Access利用导航窗体控件对...(08.03)
学习心得
最新文章
- Access自定义函数命名为中文名...(09.20)
- Access表中的字段名、字段标题...(09.19)
- Access快速开发平台--更改“...(09.18)
- 【中秋及国庆优惠】Access培训...(09.15)
- Access如何将日期型的数值转换...(09.14)
- 英文输入法输入数据中存在单引号引起...(09.11)
- 【Access选项卡示例】Acce...(09.09)
- 让Access光标停留在指定的控件...(09.07)
- 关于Access查询条件里使用通配...(09.06)
- Access报表偷懒制作法--Ac...(09.05)