【发布时间】:2013-07-13 22:07:32
【问题描述】:
Microsoft Access 允许我将字段输入值限制为某些预先确定的值,例如“Apple”、“Orange”、“Tomato”,甚至是像1、2 这样的整数215。
基本上,它将表格单元格从 TextBox 转换为 ComboBox,并允许用户从 ComboBox 中选择有效值。
如何在 SQL Server Management Studio (2008 R2 Express) 中执行此操作?我通过单击表格并单击“编辑前 200 行”来输入数据。
谢谢。
更新:
到目前为止对我来说最简单的检查:
在对象资源管理器中,展开表格,右键单击“约束”,单击“新建约束...”,根据需要重命名约束,输入表达式:
([name]='Orange' OR [name]='Apple' OR [name]='Tomato')
其中“name”是列的名称,“Orange”、“Apple”和“Tomato”是有效值。我认为你必须使用单引号。
单击“关闭”,文件 |全部保存
如果与新约束有任何冲突,您必须先解决它们,然后才能保存。
现在,我想要一个组合框! ;)
输入错误数据并使其检查失败的一个令人讨厌的结果是,主键无论如何都会递增,并且您的数字存在差距。
【问题讨论】:
-
据我所知,你不能。如果要将列中的数据限制为一组值,可以对具有这些值的表使用外键约束。
-
是的,这就是我的意思,一列应该只包含某些值。所以我需要将所有这些值设置为另一个表中的主键并建立关系? Access 允许我在列属性中输入它们,而无需创建额外的表。这会提供一个组合框吗?
-
好的,我想我测试了一下,当我尝试输入一个未在另一个表中定义的值时,它会抛出一个错误,我必须更正它。但是获得一个漂亮的查找组合框来从中选择值并不高兴。
-
你不会得到一个组合框。 SSMS 不是 Access,不应用作数据输入应用程序。
-
我明白了。那么这就回答了我的问题。
标签: sql-server database sql-server-2008 ssms