“我想要它,这样用户就不能在我的 COMP 表的列中多次输入 2013 年。”
COMP
在设计视图中打开。
- 选择
Year
字段。
- 从“字段属性”(下方)中选择“常规”选项卡。
- 从索引属性下拉列表中选择“是(无重复)” 。
- 保存更改。
如果您更喜欢使用代码来代替...
CurrentDb.Execute "ALTER TABLE [COMP]" & vbCrLf & _
"ADD CONSTRAINT uniq_year UNIQUE ([Year])"
[Year]
请注意,除非现有值是唯一的,否则语句不会成功。此外,COMP
和Year
都是保留字。将它们括在方括号中,以便数据库引擎将它们识别为字段名称而不是抱怨。
如果您决定约束应基于 2 个字段...
CurrentDb.Execute "ALTER TABLE [COMP]" & vbCrLf & _
"ADD CONSTRAINT uniq_id_year UNIQUE (ID, [Year])"
您还可以从表设计视图创建相同的唯一索引/约束,但这对我来说更难描述。您可能更容易执行 DDL 语句,然后在设计视图中检查结果。当您尝试执行该语句时,请确保该表不在设计视图中。
COMP
我用 Long Integer 字段创建了表,ID
并且Year
. 然后在查询设计器中将此语句作为新查询执行:
ALTER TABLE [COMP] ADD CONSTRAINT uniq_id_year UNIQUE (ID, [Year])
这是执行该语句后我在设计视图中的表的屏幕截图。
我不明白为什么同样的说法对你不起作用。因此,在设计视图中打开表格并找到 UI 方法来创建该图片中显示的唯一索引。