Access2013“计算”数据类型为什么不能设置为主键?
1个回答
展开全部
1)计算字段是一个虚拟字段,实际并不存在,因此不能将其设置为主键;
2)每张表只可以设置一个主键,如果一张表已经设置了主键,那么就不可以再将另外一个字段也设置为主键。当然主键除了常用的单字段主键,还可以设置成多字段主键,多字段主键它会要求多个字段的组合是唯一的。不管是多字段主键还是单字段主键,每张表只允许有一个主键;
3)尽管每张表只可以设置一个主键,但不表示不可以将多个字段都设置成唯一的。解决办法是为字段添加唯一索引。请记住唯一索引不等于主键。对于每张表,前者可以设置多个,后者只能有一个。如果某个字段设置为主键那么它一定会被自动添加唯一索引,而为某个字段添加唯一索引后并不表示它就是主键。
2)每张表只可以设置一个主键,如果一张表已经设置了主键,那么就不可以再将另外一个字段也设置为主键。当然主键除了常用的单字段主键,还可以设置成多字段主键,多字段主键它会要求多个字段的组合是唯一的。不管是多字段主键还是单字段主键,每张表只允许有一个主键;
3)尽管每张表只可以设置一个主键,但不表示不可以将多个字段都设置成唯一的。解决办法是为字段添加唯一索引。请记住唯一索引不等于主键。对于每张表,前者可以设置多个,后者只能有一个。如果某个字段设置为主键那么它一定会被自动添加唯一索引,而为某个字段添加唯一索引后并不表示它就是主键。
追问
还有一个小问题:一个字段为某个值后另一个字段不允许赋值。例如:职业字段为“学生”时,“教职工字段不允许赋值”。如果这样设置之后,再把职工号和学号设为组合主键是不是也可以
追答
1)“还有一个小问题:一个字段为某个值后另一个字段不允许赋值。例如:职业字段为“学生”时,“教职工字段不允许赋值”。”
此需求无法通过修改表设计如设置约束、有效性规则和触发器(ACCESS不支持触发器)来实现,解决办法可以通过窗体维护数据表记录,以VBA代码来实现有关限制,但是这种方案无法限制直接在数据表上的编辑行为;
2)“职工号和学号设为组合主键” 完全可以实现的,前提是该表之前没有设置过主键(如果已设置应先将其主键删除),另外这两个字段的组合不存在重复项(如果存在组合重复,则必须先将组合重复项删除)。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询