一种适合新手理解的解决数据绑定窗体关闭时不保存修改数据的方法
时 间:2019-11-03 08:01:25
作 者:朱朱 ID:8813 城市:上海
摘 要:本文介绍了一种适合新手理解的解决数据绑定窗体关闭时不保存修改数据的方法。
正 文:
Access的窗体如果绑定数据的话,则对记录的增与改都是相当方便的。一般来说一个这样的窗体通常会新增数据与编辑数据共用,其采用动态集绑定某张数据表。但这里也有一个问题,无论新增还是编辑了某条记录,如果已经修改了一定的数据中途想放弃新增或者编辑的话,关闭窗体后,Access还是会将数据保存到表中,这显然不是我们想得到的结果。
通过进一步的窗体的学习可以知道,Access窗体有个Dirty事件,通过对Dirty进行判断可以达到在窗体关闭时对已经编辑的数据不保存。不过这个Dirty对于新手来说,理解起来可能有一点点不太友好。本文就尝试用一种较易理解的方式来解决这个问题。本文采用的示例是Access软件网职场范例中的一个示例,稍稍作了一定的修改。
首先在编辑窗体(frm供应商资料_Edit)代码中定义一个变量:Dim bSaveFlag As Boolean,注意变量的位置,具体可以看示例。
附 件:
在窗体的Load事件中,先将其值设置成False
Private Sub Form_Load()
bSaveFlag = False
End Sub
在保存按钮里面,DoCmd.RunCommand acCmdSave这句代码前设置其值为Ture
bSaveFlag = True
DoCmd.RunCommand acCmdSave
最后是在窗体的BeforeUpdate事件中进行判断
Private Sub Form_BeforeUpdate(Cancel As Integer)
If bSaveFlag = False Then
Cancel = True
End If
End Sub
这样之后,无论新增还是编辑,如果中途想放弃,关闭窗体后就都不会保存数据了。
现在来讲解一下实现的原理。定义这个变量之后,在窗体的Load事件中先将其设为False,如果确实要保存数据,点击了保存按钮,则其值再设置为True,则可以正常保存数据。 如果修改了部分数据,中途想要关闭窗体,则都会触发窗体的BeforeUpdate事件,那么就可以在这个事件中进行判断,如果bSaveFlag为False则表示不希望保存数据,则设置参数Cancel为Ture,这样修改的数据就不会被保存了。这样也就达到了修改了记录但关闭窗体不保存的目的。
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)

学习心得
最新文章
- 仓库管理实战课程(8)-商品信息功...(04.01)
- 仓库管理实战课程(7)-链接表(03.31)
- 仓库管理实战课程(6)-创建查询(03.29)
- 仓库管理实战课程(5)-字段属性(03.27)
- 设备装配出入库管理系统;基于Acc...(03.24)
- 仓库管理实战课程(4)-建表操作(03.22)
- 仓库管理实战课程(3)-需求设计说...(03.19)
- 仓库管理实战课程(2)-软件背景和...(03.18)
- 仓库管理实战课程(1)-讲师介绍(03.16)
- 统计当月之前(不含当月)的记录数怎...(03.11)