MS ACCESSに顧客ファイルがあり、多くのテーブルが含まれています。
場合:
Column(Y)のtable(X)には、「=1Or2」の検証ルールがあります。可能であれば、「= 1 OR 2 OR 3 OR 4」に変更したいのですが、そのバイト列です。それ以外の場合は、その列の検証ルールを完全に削除したいと思います。私はC#を使用していますが、そのためのクエリが必要です......。
アクセスSQLを使用して、検証ルールを追加、削除、または変更することはできません。これは、DAOTableDefを介してのみ実行できます。
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.Access
おそらく、c#から同じことを行うために使用できます。
別の方法は、AccessSQLを使用してチェック制約を作成することです。チェック制約は検証ルールと同じではありませんが、同じ目標を達成するために使用できます。
ALTER TABLE X ADD CONSTRAINT one_to_four CHECK (Y IN (1,2,3,4));
それでも、既存の検証ルールを破棄する必要があります。それが不可能な場合は、古いテーブルと同じ構造の新しいテーブルを作成し、チェック制約を追加して、最後に古いテーブルから新しいテーブルにデータをロードすることができます。