access刪除驗(yàn)證規(guī)則?
訪問SQL不能用于添加,刪或更改驗(yàn)證規(guī)則。這只能通過DAO TableDef完成。
如果你在Access中使用VBA,你可以這樣做來創(chuàng)建你的驗(yàn)證規(guī)則。
CurrentDb.TableDefs("X").Fields("Y").ValidationRule = "IN (1,2,3,4)"
我用IN (1,2,3,4)代替1 OR 2 OR 3 OR 4,但無論是應(yīng)工作。
也許你可以使用Microsoft.Office.Interop.Access來從c#做同樣的事情。
另一種方法是使用Access SQL創(chuàng)建檢查約束。檢查約束與驗(yàn)證規(guī)則不同,但可用于實(shí)現(xiàn)相同的目標(biāo)。
ALTER TABLE X ADD CONSTRAINT one_to_four CHECK (Y IN (1,2,3,4));
您仍然需要放棄現(xiàn)有的驗(yàn)證規(guī)則。如果這樣做不可行,可以創(chuàng)建一個(gè)與舊的表具有相同結(jié)構(gòu)的新表,添加檢查約束,并最終將數(shù)據(jù)從舊表加載到新表。