Office中国论坛/Access中国论坛
标题: [求助]请继续关注:在关闭录入窗体时,如何判断数据是否完整 [打印本页]
作者: luodream 时间: 2007-1-29 21:25
标题: [求助]请继续关注:在关闭录入窗体时,如何判断数据是否完整
[求助]
1、关闭窗体时,如何实现提示是否保存记录?
2、保存记录时,如何判断文本框是否为空,数值是否大于0,日期是否大于某指定日期,否则提示相关信息。
请各路高手明签,提示
不胜感激。
[此贴子已经被作者于2007-1-29 17:19:53编辑过]
作者: 一点通 时间: 2007-1-29 22:16
可参照这个例子的提示方法
http://www.office-cn.net/forum.php?mod=viewthread&tid=52001
[此贴子已经被作者于2007-1-29 14:15:45编辑过]
作者: luodream 时间: 2007-1-30 01:08
感谢。但还有两个问题:
1、保存记录时,有两字段无何判断无效呢?而“录入人”判断是有效的。
2、关闭窗体时,如何实现:
提示是否保存,若选择“是”,则按保存记录的判断进行判断,记录完整,保存退出,不完整,提示。“否”则删除记录。
再次感谢。
[此贴子已经被作者于2007-1-30 12:42:44编辑过]
作者: tz-chf 时间: 2007-1-30 04:53
这种东西一般就在表的规则里设定,用不着再判断,只是有些提示不友好。用户多看几次就习惯了。
作者: wu8313 时间: 2007-1-30 04:59
如果窗体是绑定数据的话,可以这样做:
表里面不要设置任何规则,否则 jet引擎方面的错误很是烦人。建议使用窗体界面来解决这个问题。
1将窗体的 '允许添加' 属性设为 '是'。这个设置,关系到你关闭后是否自动保存数据。
2在窗体的卸载事件中,对必填的控件进行判断。如果有必填项目,用户却提交了空,就删除刚才的记录。
如果用户必填项全部提交,就什么都不做。
形如这样的代码:
Private Sub Form_Unload(Cancel As Integer)
'卸载事件发生在窗体被关闭之后.因为本窗体的'允许添加'属性设为'是',关闭后将会自动保存数据。
If IsNull([体检时间]) Or IsNull([何种疾病]) Then
If MsgBox("关键信息为空,该人体检信息未保存!", vbInformation + vbCritical, "关闭前提示") = vbOK Then
DoCmd.SetWarnings False
'如果数据不完整就删除该条自动保存的数据
DoCmd.RunSQL "DELETE tbl_体检.编号 FROM tbl_体检 WHERE (((tbl_体检.编号)=[Forms]![frm_健康检查表]![编号])); ", -1’可以针对性写上你的录入窗体名称
DoCmd.SetWarnings True
End If
Else
‘如果用户必填项全部提交,就什么都不做.给出一个提示
MsgBox "数据保存成功!", vbInformation, "关闭前提示"
End If
End Sub
[此贴子已经被作者于2007-1-29 21:08:04编辑过]
作者: fan0217 时间: 2007-1-30 18:03
应该在更新前进行数据验证,然后再根据验证的情况提示用户作下一步处理,在关闭前如果窗体数据发生了变化会触发更新前事件的。
作者: wu8313 时间: 2007-1-31 04:01
fan0217 的说法更为 精确。
作者: gurenhua 时间: 2008-5-4 10:27
标题: 回复 4# 的帖子
可以自己定义提示的
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) |
Powered by Discuz! X3.3 |