删除所有符合指定条件的记录
时 间: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)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- 32位的Access软件转化为64...(04.12)
- 【Access高效办公】如何让vb...(04.11)
- 仓库管理实战课程(10)-入库功能...(04.08)
- Access快速开发平台--Fun...(04.07)
- 仓库管理实战课程(9)-开发往来单...(04.02)
- 仓库管理实战课程(8)-商品信息功...(04.01)
- 仓库管理实战课程(7)-链接表(03.31)
- 仓库管理实战课程(6)-创建查询(03.29)
- 仓库管理实战课程(5)-字段属性(03.27)
- 设备装配出入库管理系统;基于Acc...(03.24)