设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1364|回复: 5
打印 上一主题 下一主题

[窗体] 请教个数据完整性问题

[复制链接]
跳转到指定楼层
1#
发表于 2008-7-22 09:34:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现有一张主表(人员信息),和多张对应的子表(人员工资、人员培训记录、人员考核记录、人员入职记录等),如何才能保证,只要在主表中输入了一条记录,在其它子表中都必须要有一条以上对应的记录才能保存
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2008-7-22 09:52:45 | 只看该作者
用关系来做,但做了关系限制比较死,也可用程序控制
3#
发表于 2008-7-22 09:53:02 | 只看该作者
你这种先有儿子才能有老子的想法是不可能实现的,只有在一个主从表录入窗体中的“保存”按钮或窗体的关闭事件中,检查其所有从表是否都有记录,否则进行提示录入子表数据或选择取消而删除此主表(若有关系可自动删除从表记录)记录并退出录入窗体。
也可以直接运行查询:DELETE ID FROM 员工 WHERE DLookUp("ID","人员工资","ygID=" & [id]) Is Null OR DLookUp("ID","人员培训记录","ygID=" & [id]) Is Null 来清除主表及有关系的从表记录
4#
 楼主| 发表于 2008-7-22 10:33:46 | 只看该作者
原帖由 Trynew 于 2008-7-22 09:53 发表
你这种先有儿子才能有老子的想法是不可能实现的,只有在一个主从表录入窗体中的“保存”按钮或窗体的关闭事件中,检查其所有从表是否都有记录,否则进行提示录入子表数据或选择取消而删除此主表(若有关系可自动删除 ...
      事件代码能给个参考吗? 先谢了
5#
发表于 2008-7-22 11:47:45 | 只看该作者
删除无子表记录的员工实例:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
6#
 楼主| 发表于 2008-7-22 14:11:49 | 只看该作者
多谢 TRYNEW  ,很好用
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-2 10:07 , Processed in 0.104243 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表