一、问题描述:
学习
Access快速开发平台《
进销存管理系统》培训教程保存时提示"库存流水明细表"需要一个相关的记录,如下图图:
二、分析问题:
这个错误提示此前没见过,只能使用排除法进行排查,先检查编辑窗体是否绑定了记录源?代码中是否有保存"库存流水明细表"的内容?
三、解决问题:
首先检查"库存流水明细表的"的编辑窗体"记录源",发现是空的,(为什么检查"记录源"呢?因为经常有学员把为了实现自己一些功能给"记录源"写入了表,而平台的编辑窗体的加载和保存事件都是使用非绑定表的方式进行处理,绑定了表这样会导致出现各种问题。), 保存代码中也不见跟"库存流水明细表"相关的代码,初步判断编辑窗体没有问题,关闭main.mdb
其次,打开data.mdb后台数据库,检查表间关系,如下图:
为什么检查表间关系呢?因为"商品信息表"和"库存流水明细表" 两个表之间的关联就是"商品ID",所以要检查表间关系。打开表间关系,立马就发现问题了。如下图:
"商品信息表"的"商品ID" 和多个表之间存在"一对一的关系,"商品ID"在"商品信息表"中是主键,而在别的表中是外键,所以应该是一对多的关系才是,所以这里设置为一对一关系肯定是错了的,而设置表间关系是Access自动判断是一对一的关系,还是一对多的关系的,严重怀疑是表里的索引设置出了问题,检查"库存流水明细表",因为这个表是双主键设置,学员把两个主键的索引都设置为"有(无重复)",如下图:
现在需要把双主键的索引都改为"无",如下图:
(在修改索引设置前要把错误的表间关系删除,否则不能修改),返回"表间关系",再设置好表间关系。退出data.mdb后台数据库,再打开main.mdb前台开发文件,打开'商品信息"窗体,点击“新增”按钮,新增商品,点击保存,操作正确,故障排除。