1

我在 MS ACCESS 中有一个客户文件,它包含许多表。

案子:

在列(Y)的表(X)中有“= 1或2”的验证规则。如果可能,我想将其更改为“= 1 OR 2 OR 3 OR 4”,它是一个字节列。否则我想完全删除该列的验证规则。我正在使用 C#,我需要一个查询来这样做.......

4

1 回答 1

2

Access SQL 不能用于添加、删除或更改验证规则。这只能通过 DAO TableDef 来完成。

如果您在 Access 中使用 VBA,您可以这样做来创建您的验证规则。

CurrentDb.TableDefs("X").Fields("Y").ValidationRule = "IN (1,2,3,4)"

我使用IN (1,2,3,4)而不是1 OR 2 OR 3 OR 4,但任何一个都应该工作。

也许你可以用Microsoft.Office.Interop.Accessc# 来做同样的事情。

另一种方法是使用 Access SQL 创建检查约束。检查约束与验证规则不同,但可用于实现相同的目标。

ALTER TABLE X ADD CONSTRAINT one_to_four CHECK (Y IN (1,2,3,4));

您仍然需要放弃现有的验证规则。如果这不可行,您可以创建一个与旧表具有相同结构的新表,添加检查约束,最后将数据从旧表加载到新表中。

于 2013-01-16T07:30:50.280 回答