Recordset2.ValidationRule プロパティ (DAO)
適用先: Access 2013、Office 2013
データの変更時またはテーブルへの追加時に、フィールド内のデータを検証する値を設定または取得します (Microsoft Access ワークスペースのみ) 。値の取得および設定が可能です。文字列型 ( String ) の値を使用します。
構文
式 。Validationrule
式Recordset2 オブジェクトを表す変数。
注釈
設定値または戻り値は、予約語 WHERE を指定しない SQL WHERE 句形式での比較を示す文字列型 ( String) の値となります。 Fields コレクションにまだ追加されていないオブジェクトの場合、このプロパティは値の取得および設定が可能です。
ValidationRule プロパティは、フィールドに有効なデータが含まれているかどうかを示します。 データが無効の場合は、トラップ可能な実行時エラーが発生します。 エラー メッセージには、 ValidationText プロパティが設定されている場合はそのテキストが表示され、それ以外は ValidationRule に指定されている式のテキストが表示されます。
Recordset オブジェクトの場合、 ValidationRule プロパティは値の取得のみ可能です。 TableDef オブジェクトの場合、 ValidationRule プロパティの使用方法は、次の表に示すように TableDef オブジェクトのステータスによって変わります。
TableDef |
使用方法 |
---|---|
ベース テーブル |
読み取り/書き込み |
リンク テーブル |
読み取り専用 |
検証は、Microsoft Access データベース エンジンを使用しているデータベースに対してのみサポートされます。
Field オブジェクトの ValidationRule プロパティで指定される文字列式は、該当する Field のみ参照できます。 ユーザー定義関数、SQL 集計関数、またはクエリを参照することはできません。 Field オブジェクトの ValidateOnSet プロパティが True に設定されているときに、このオブジェクトの ValidationRule プロパティを設定するには、この式の解析が正常に終了し (フィールド名を暗黙のオペランドとして)、 True と評価される必要があります。 ValidateOnSet プロパティが False に設定されている場合、 ValidationRule プロパティの設定は無視されます。
Recordset オブジェクトまたは TableDef オブジェクトの ValidationRule プロパティは、該当するオブジェクトの複数のフィールドを参照できます。 このプロパティには、 Field オブジェクトに関する前述の制限が当てはまります。
テーブル タイプの Recordset オブジェクトの場合、 ValidationRule プロパティは、テーブル タイプの Recordset オブジェクトの作成に使用する TableDef オブジェクトの ValidationRule プロパティの設定を継承します。
注:
プロパティを非整数値と連結された文字列に設定し、システム パラメーターで米国以外を指定する場合。コンマなどの 10 進文字 (strRule = "PRICE > " & lngPrice、lngPrice = 125,50 など) は、コードがデータを検証しようとしたときにエラーが発生します。 連結時に数値がシステムの既定の小数点の記号を使って文字列に変換されますが、Microsoft Access の SQL で小数点の記号として使用できるのはピリオドのみであるためです。