Office中国论坛/Access中国论坛

标题: 请教个数据完整性问题 [打印本页]

作者: yyjlili    时间: 2008-7-22 09:34
标题: 请教个数据完整性问题
现有一张主表(人员信息),和多张对应的子表(人员工资、人员培训记录、人员考核记录、人员入职记录等),如何才能保证,只要在主表中输入了一条记录,在其它子表中都必须要有一条以上对应的记录才能保存
作者: ui    时间: 2008-7-22 09:52
用关系来做,但做了关系限制比较死,也可用程序控制
作者: Trynew    时间: 2008-7-22 09:53
你这种先有儿子才能有老子的想法是不可能实现的,只有在一个主从表录入窗体中的“保存”按钮或窗体的关闭事件中,检查其所有从表是否都有记录,否则进行提示录入子表数据或选择取消而删除此主表(若有关系可自动删除从表记录)记录并退出录入窗体。
也可以直接运行查询:DELETE ID FROM 员工 WHERE DLookUp("ID","人员工资","ygID=" & [id]) Is Null OR DLookUp("ID","人员培训记录","ygID=" & [id]) Is Null 来清除主表及有关系的从表记录
作者: yyjlili    时间: 2008-7-22 10:33
原帖由 Trynew 于 2008-7-22 09:53 发表
你这种先有儿子才能有老子的想法是不可能实现的,只有在一个主从表录入窗体中的“保存”按钮或窗体的关闭事件中,检查其所有从表是否都有记录,否则进行提示录入子表数据或选择取消而删除此主表(若有关系可自动删除 ...
      事件代码能给个参考吗? 先谢了
作者: Trynew    时间: 2008-7-22 11:47
删除无子表记录的员工实例:
[attach]31146[/attach]
作者: yyjlili    时间: 2008-7-22 14:11
多谢 TRYNEW  ,很好用




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3