Back

プロパティ名 設定値 対象コントロール
入力規制 ValidationRule 文字列式(最大文字数は2048 文字) Text,Op_Group, Combo, List
エラーメッセージ ValidationText 文字列式(最大文字数は255 文字)

ValidationRule/入力規則 プロパティは、レコード、フィールド、またはコントロールに入力されるデータに対しての条件を示します。
ValidationText/エラーメッセージ プロパティは、ValidationRule/入力規則 プロパティの設定値に違反するデータが入力された場合に表示するメッセージを示します。

設定値
コントロールの場合は、有効な式を設定できます。フィールドとレコードの入力規則には、ユーザー定義関数、定義域集計関数、集計関数、Eval 関数、CurrentUser メソッド、フォームの参照、クエリの参照、およびテーブルの参照を含む式を設定できません。また、フィールドの入力規則には、他のフィールドへの参照を含む式も設定できません。レコードの入力規則には、そのテーブルのフィールドへの参照を含む式を設定できます。

解説
値は、フィールドのデータ型を基に自動的に確認されます。たとえば、数値型フィールドにテキストを入力することはできません。ValidationRule/入力規則 プロパティを使用すると、さらに詳細な入力規則を設定できます。
ValidationRule/入力規則 プロパティだけを設定し、ValidationText/エラーメッセージ プロパティを設定していない場合、入力規則に違反すると、標準的なエラー メッセージが表示されます。ValidationText/エラーメッセージ プロパティを設定している場合は、入力したテキストがエラー メッセージとして表示されます。
たとえば、社員の [入社日] フィールドの範囲を会社の設立日から現在の日付までに制限するために、ValidationRule/入力規則 プロパティを設定します。さらに、ValidationText/エラーメッセージ プロパティを使用して、この範囲外の日付が入力されたときに、"入社日が正しくありません。" というメッセージが表示されるように設定できます。
フィールド リストからフィールドをドラッグしてコントロールを作成した場合、ValidationRule/入力規則 プロパティの設定値は、プロパティ シートに表示されませんが、フィールドの ValidationRule/入力規則 プロパティの設定は有効です。これは、フィールドの入力規則が、そのフィールドに連結されているコントロールにも適用されるからです。
コントロール、フィールド、およびレコードの入力規則は次のように適用されます。
データの編集時は、フォーカスがフィールドまたはコントロールから他の要素に移動するときに、フィールドおよびコントロールに対して設定した入力規則が適用されます。
レコードを保存して別のレコードに移動する場合は、レコードの入力規則が適用されます。
フィールドと、フィールドに連結されているコントロールの両方に対して入力規則を作成した場合は、データの編集後、フォーカスがコントロールから移動するときに、両方の入力規則が適用されます。
フィールドに入力規則を作成した場合は、通常、Null 値をフィールドに入力することはできません。Null 値を入力できるようにするには、Is Null を入力規則に追加します。たとえば、"<> 8 Or Is Null" と指定し、Required/値要求 プロパティに [No/いいえ] を設定します。
を設定できます。
(MS Access Help より抜粋)
使用例
ValidationRule/入力規則 ValidationText/エラー メッセージ
<> 0 0 以外の値を入力します。
> 1000 Or Is Null 空白か、1,000 を超える数値を入力します。
Like "A????" 1 文字目が A で、5 文字の文字列を入力します。
>= #96/1/1# And <#97/1/1# 1996年の日付を入力します。