Accessでお仕事 空白フィールドの処理方法を制御するプロパティ

空白フィールドの処理方法を制御するプロパティ

 Access を使い始めてつまずくことの一つに、Null 値が有ります。ここでは、Nullの取扱いについて紹介します。

 Access では、空白の値として、レコードが作られてからまだ一回もデータが入っていない状態(Null 値)と、何かデータが入ったことはあるが、削除されて今は空白(長さ 0 の文字列)の 2 種類が区別されています。
 データのフィールドに、これらの「空白の値」をどう登録できるかは、以下のプロパティで設定します。

フィールドの "Required/値要求" プロパティおよび "AllowZeroLength/空文字列の許可" プロパティを異なる組み合わせで設定すると、空白フィールドの処理方法を制御できます。
 "AllowZeroLength/空文字列の許可" プロパティは、テキスト型フィールド、メモ型フィールド、またはハイパーリンク型フィールドにのみ設定できます。"Required/値要求" プロパティは、省略できるかどうかを決定します。
 "AllowZeroLength/空文字列の許可" プロパティに [Yes/はい] を設定した場合は、Null 値および長さ 0 の文字列の 2 種類の空白の値が区別されます。

ここでは、次の内容について説明します。

 Null 値と長さ 0 の文字列の違い
 フィールドに Null 値を入力できるようにする
 フィールドに Null 値と長さ 0 の文字列のどちらも入力できないようにする
 フィールドに Null 値と長さ 0 の文字列のどちらも入力できないようにする
 フィールドに長さ 0 の文字列または特定の値だけを入力できるようにする
 Null 値を長さ 0 の文字列と区別する
 長さ 0 の文字列または Null 値を検索する

 参考: "Format/書式" プロパティ ― テキスト型とメモ型

Null 値と長さ 0 の文字列の違い

情報が未確定である場合と、情報が存在しない場合には、どちらもフィールドを空白にしますが、2 種類の空白の値を使ってこれらを区別することができます。
 たとえば、[ファクシミリ] フィールドについて、得意先にファックスがあるかどうかが不明の場合は、"未確認" を示すために空白のまま (Null 値) にして、得意先にファックスが無い場合は、長さ 0 の文字列 ("") を入力します。

ページの先頭に戻る

フィールドに Null 値を入力できるようにする

フィールドを空白のままにしておき、フィールドが空白のままになっている理由を明確にする必要がない場合は、"Required/値要求" および "AllowZeroLength/空文字列の許可" プロパティの両方に [No/いいえ] を設定します。テキスト型、メモ型、またはハイパーリンク型フィールドを新規作成する場合は、これが既定の設定です。

ページの先頭に戻る

フィールドに Null 値と長さ 0 の文字列の
どちらも入力できないようにする

フィールドを空白のままにしない場合は、"Required/値要求" プロパティに [Yes/はい] を設定し、"AllowZeroLength/空文字列の許可" プロパティに [No/いいえ] を設定します。

ページの先頭に戻る

フィールドに Null 値と長さ 0 の文字列の
両方を入力できるようにする

情報が未確認のために空白になっているフィールドと、当てはまらないので空白になっているフィールドを区別できるようにするには、"Required/値要求" プロパティに [No/いいえ] を設定し、"AllowZeroLength/空文字列の許可" プロパティに [Yes/はい] を設定します。

 テキスト型、メモ型、またはハイパーリンク型フィールドの既定では、「長さ 0 の文字列が入力できない」ようになっているので、「テーブル」→「デザイン」の下記の画面で、変更する必要が有ります。

この場合、情報が未確認の場合は、レコードを追加するとフィールドが空白になり、Null 値が入力されます。一方、フィールドがカレント レコードに当てはまらないことを示す場合は、間にスペースを入れずにダブル クォーテーション ("") を入力し、長さ 0 の文字列を入力します。

ページの先頭に戻る

フィールドに長さ 0 の文字列または特定の値
だけを入力できるようにする

フィールドがレコードに当てはまらない場合にだけフィールドを空白のままにするには、"Required/値要求" プロパティおよび "AllowZeroLength/空文字列の許可" プロパティに [Yes/はい] を設定します。

この場合は、長さ 0 の文字列を入力して、フィールドを空白のままにすることができます。

次の表は、"Required/値要求" プロパティおよび "AllowZeroLength/空文字列の許可" プロパティに設定できるすべての結果です。

Required
値要求
AllowZeroLength
空文字列の許可
操作 入力される値 備考
No/いいえ No/いいえ Enter キーを押します。 <Null 値> テキスト型、メモ型、ハイパーリンク型フィールドの既定値
Space キーを押します。 <Null 値>
" " 入力できません
Yes/はい No/いいえ Enter キーを押します。 入力できません
Space キーを押します。 入力できません
" " 入力できません
No/いいえ Yes/はい Enter キーを押します。 <Null 値> テキスト型フィールドにキーを設定するために必須
Space キーを押します。 <Null 値>
" " <長さ 0 の文字列>
Yes/はい Yes/はい Enter キーを押します。 入力できません
Space キーを押します。 <長さ 0 の文字列>
" " <長さ 0 の文字列>

ページの先頭に戻る

Null 値を長さ 0 の文字列と区別する

Null 値と長さ 0 の文字列の両方が入力できるフィールドのデータを表示すると、いずれの場合もフィールドには何も表示されず同じ様に見えます。フォーム、レポート、またはデータ アクセス ページで、Null 値と長さ 0 の文字列を区別して表示するには、クエリ フィールドか、または非連結コントロールの場合はコントロール ソースで、式を使用します。次の式では、フィールドの値が Null 値の場合は“未確認”が、長さ 0 の文字列の場合は “ZLS”が返されます。それ以外の場合は、フィールドに入力されている値が返されます。

=IIf(IsNull([フィールド名]),”未確認”,Format([フィールド名],”@;\ZLS”))

Null 値または長さ 0 の文字列を含むフィールドで "Format/書式" プロパティを使用する方法の詳細については、ここをクリックします。

ページの先頭に戻る

長さ 0 の文字列または Null 値を検索する

[編集] メニューの [検索] をクリックすると、Null 値または長さ 0 の文字列を検索することができます。データシート ビューまたはフォーム ビューで、検索するフィールドを選択します。[検索するフィールド] ボックスに、Null 値を検索する場合は「Null」と入力し、長さ 0 の文字列を検索する場合は、ダブル クォーテーション (" ") を入力します。ただし、ダブル クォーテーションの間にスペースは入力しません。[検索条件] ボックスの [フィールド全体] をクリックし、[表示書式で検索する] チェック ボックスをオフにします。

[検索] の使用方法の詳細については、 をクリックしてください。

ページの先頭に戻る


このページのトップに戻る↑ 次の項目を見る↓ Accessでお仕事 目次に戻る

ホームページのトップに戻る