access表中多个字段怎么实现每一条记录的主键只显示其中一个字段

比如一朵花的生命周期,我们定义为发芽,生长,开花,凋谢,死亡五个阶段,我们规定在某个确定的时间内,花只能处于这五个阶段的其中一个阶段,用access建立表格该怎么实现?

题主这个需求应该用字段的查阅属性等其他约束,而非主键约束来实施限定。

假设我们需要创建一张表来记录每棵花苗的不同时间的生长情况,

数据表可以这样设计:

生长记录(id 自动编号,花苗编号 文本 主键,时间 日期/时间 非空,阶段 文本 非空)

将"时间"和"阶段"这两个字段的“必填字段”属性设置为是;

于表设计视图选择字段"阶段",于下面字段属性选择“查阅”选项卡,分别将

“显示控件”属性设置为“组合框”

“行来源类型”属性设置为“值列表”,

“行来源”属性设置为“发芽;生长;开花;凋谢;死亡”

“限于列表”属性设置为“是”

这样阶段字段就被限定在所要求的5个阶段中

最后可以更加完善一些,为数据表添加一个表级约束,限定每棵苗除了死亡阶段外,前面阶段的时间不得迟于后面各个阶段的时间。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-08-07
你是说时间一定吗,那就把时间和花的名字作为主键好了追问

时间是任意的呢,不固定的时间内,花所处的状态只能是那5种中的一种,用access应该怎么实现呢?

追答

你这种已经不属于主键的问题了,涉及到一条记录是否允许插入的问题,需要用到触发器,比如在新增一条的时候去查询,这个时间段内是不是已经有别的状态了,但在access里面是没有触发器这一项的。

相似回答