问题描述:
最近有学员提问说,为什么我用数据模块生成器,直接生成的窗体也会出现报错?
问题分析:
注释掉 On Error GoTo ErrorHandler ,进入VB编辑器进行调试。
如下图可以看到出错代码定位到了 rst.Update
由此,我们可以知道,这是在数据保存时出现的问题。
如果输入没有问题,检查表。
解决方案:
录入的小数位数,超过了表中设置的长度。
如上,问题已解决。
但是又该如何限定输入时的小数位数呢?这里提供三种方法
1:在对应文本框的更新后事件使用Round函数截取小数位数
Me.合作方股权比例 = Round(Me.合作方股权比例, 5)
2:直接在录入代码里面使用Round函数(注意需要将对应文本框的名称修改一下,使其与与表中字段不一致)
If rst.EOF Then rst.AddNew
UpdateRecord Me, rst
rst!合作方股权比例 = Round(Me!合作方股权比例1, 5)
rst!管理费率 = Round(Me!管理费率1, 5)
rst!项目占地面积 = Round(Me!项目占地面积1, 3)
rst.Update
rst.Close
3:直接使用平台的CheckTextLength函数(此方法最为方便)
在文本框标签处写上<Length=?>