今天同事运行Access时发现这个错误
做任何调试前,记得备份!记得备份!记得备份!
一、注释On
Error GoTo ErrorHandler
这个错误是在单击保存按钮时产生的,所以进入单击事件代码注释掉On Error GoTo
ErrorHandler,重新运行
二、提示错误,单击调试
发现程序停止在 rst.Update上,我也看不出是咋回事,猜测是【tbl09物业总台账】的问题
三、去网上查是否有相关教程
用百度查更方便些 关键词 + 空格 + site:accessoft.com
四、观看教程 http://www.accessoft.com/article-show.asp?id=18622
发现这个错误可能是因为实际输入的数值大于表格设定时的大小,但这个表之前一直在用,理论上不应该有这个错。
想到如果不填任何值就肯定不会超过设定数值,所以在只有合同编号被输入的情况下运行,依旧出现错误
五、求助老师
我的思路是只填【台账编号】运行,结果报错
老师的思路是Edit窗体只保留【台账编号】控件运行,结果正常
具体做法是
1、 先复制一个Edit窗体的副本
2、 把Edit窗体里的控件删除,只留【台账编号】试运行,成功
注意:要把窗体其它控件的相关代码注释掉(因为这些控件已经被删除了)
3、 一次往Edit窗体里面加入其它控件试运行,最后发现是【财务审批】复选框报错
复选框的默认值为空值,改为0,就可以了
六、总结
布尔值不能为空值,否则会报错
在建立表格时是/否会自动带默认值No,但是在创建复选框时默认值为空
所以财务审批这个字段在空值的情况下保存就会报错