Access2013“计算”数据类型为什么不能设置为主键?

因为一般学号和职工号是唯一值,我想把他们的值设置为主键,这样做行不通么?... 因为一般学号和职工号是唯一值,我想把他们的值设置为主键,这样做行不通么? 展开
 我来答
tjrmgs
推荐于2016-09-14 · TA获得超过5765个赞
知道大有可为答主
回答量:2161
采纳率:94%
帮助的人:1033万
展开全部
1)计算字段是一个虚拟字段,实际并不存在,因此不能将其设置为主键

2)每张表只可以设置一个主键,如果一张表已经设置了主键,那么就不可以再将另外一个字段也设置为主键。当然主键除了常用的单字段主键,还可以设置成多字段主键,多字段主键它会要求多个字段的组合是唯一的。不管是多字段主键还是单字段主键,每张表只允许有一个主键;

3)尽管每张表只可以设置一个主键,但不表示不可以将多个字段都设置成唯一的。解决办法是为字段添加唯一索引。请记住唯一索引不等于主键。对于每张表,前者可以设置多个,后者只能有一个。如果某个字段设置为主键那么它一定会被自动添加唯一索引,而为某个字段添加唯一索引后并不表示它就是主键。
追问
还有一个小问题:一个字段为某个值后另一个字段不允许赋值。例如:职业字段为“学生”时,“教职工字段不允许赋值”。如果这样设置之后,再把职工号和学号设为组合主键是不是也可以
追答
1)“还有一个小问题:一个字段为某个值后另一个字段不允许赋值。例如:职业字段为“学生”时,“教职工字段不允许赋值”。”  
此需求无法通过修改表设计如设置约束、有效性规则和触发器(ACCESS不支持触发器)来实现,解决办法可以通过窗体维护数据表记录,以VBA代码来实现有关限制,但是这种方案无法限制直接在数据表上的编辑行为;

2)“职工号和学号设为组合主键” 完全可以实现的,前提是该表之前没有设置过主键(如果已设置应先将其主键删除),另外这两个字段的组合不存在重复项(如果存在组合重复,则必须先将组合重复项删除)。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式