一、问题描述:
有学员在使用Access快速开发平台2.6.6.555版本(测试版)平台时,保存的时候出现"多步OLE DB 操作产生错误" 这样的提示错误,如下图:
二、分析问题:
通过跟学员的沟通,只有在对子表写入才会出现这个错误,因为只是打算看看后台数据库的表结构,直接在mainmdb右键打开表的设计视图,打开时会有提示,直接确定就是了,如下图:
右键打开"合同付款详表"检查字段类型,如下图:
"付款ID"是"自动编号"数据类型,然后打开"TMP_合同付款详单"里面也有一个"付款ID"的字段名称,如下图:
这里要解释下updateRecord的使用方法:要是保存子窗体的数据,这个函数是跟着临时表里面的字段去匹配后台正式表里面的字段,一对一进行保存。
现在是因为临时表里面有"付款ID"字段,而后台表也有"付款ID" 这个字段,因为这个字段是自动编号,只能是系统生成的,不能写入,现在对其写入就出现这个错误了,把临时表的"付款ID"字段删除或者改成别名,就是上面这个图,继续测试保存,保存进行出现相同的错误,如下图:
子表的"付款合同编号"其实是根据编辑主窗体的控件写入的,临时表没有这个字段也没有问题,也把临时表的"付款合同编号"删除了,如下图:
重新保存,如下图:
测试通过,问题解决。