パソコンサポート Q & A

パソコン講習会で寄せられた質問を解説しております。

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

2005年07月07日 | Access
Access を使い始めてつまずくことの一つに、Null 値があります。
また「Null 値と長さ 0 の文字列の違い」は、資格試験での出題頻度も高いですから、しっかり覚えておくと良いでしょう。

Access では、空白の値として、レコードが作られてからまだ一回もデータが入っていない状態(Null 値)と、たとえば何かデータが入ったことはあるが、削除されて今は空白(長さ 0 の文字列)の 2 種類が区別されています。

データのフィールドに、これらの「空白の値」をどう登録できるかは、プロパティで設定します。
フィールドの "Required/値要求" プロパティおよび "AllowZeroLength/空文字列の許可" プロパティを異なる組み合わせで設定すると、空白フィールドの処理方法を制御できます。
"空文字列の許可" プロパティは、テキスト型フィールド、メモ型フィールド、またはハイパーリンク型フィールドにのみ設定できます。
"値要求" プロパティは、省略できるかどうかを決定します。

また、"空文字列の許可" プロパティに [Yes/はい] を設定した場合は、Null 値および長さ 0 の文字列の 2 種類の空白の値が区別されます。
情報が未確定である場合と、情報が存在しない場合には、どちらもフィールドを空白にしますが、2 種類の空白の値を使ってこれらを区別することができます。

たとえば、フィールドについて、該当するデータがあるかどうかが不明の場合は、"未確認" を示すために空白のまま (Null 値) にして、データが無い場合は、長さ 0 の文字列 ("") を入力します。

◆フィールドに Null 値を入力できるようにする
"値要求"プロパティ→ [No/いいえ]
"空文字列の許可"プロパティ→ [No/いいえ]
テキスト型、メモ型、またはハイパーリンク型フィールドを新規作成する場合は、これが既定の設定です。

◆フィールドに Null 値と長さ 0 の文字列のどちらも入力できないようにする
"値要求" プロパティ→ [Yes/はい]
"空文字列の許可" プロパティ→ [No/いいえ]

◆フィールドに Null 値と長さ 0 の文字列の両方を入力できるようにする
"値要求" プロパティ→ [No/いいえ]
"空文字列の許可" プロパティ→ [Yes/はい]

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

◆フィールドに長さ 0 の文字列または特定の値だけを入力できるようにする
"値要求" プロパティ→[Yes/はい]
"空文字列の許可" プロパティ→[Yes/はい]
この場合は、長さ 0 の文字列を入力して、フィールドを空白のままにすることができます。

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


最新の画像もっと見る

4 コメント

コメント日が  古い順  |   新しい順
ありがとうございます (加奈)
2006-02-02 02:28:53
はじめまして! 



Access初心者です。

Nullと""の違いについて調べていて、こちらにお邪魔させていただきました。



Nullと""は区別される...というところまでは調べられたのですが、フォームに配置したコントロールの値をクリアするため値に""を代入しようとすると、代入できるコントロールとできないものとがあってどうしてなのか悩んでいました。



>※テキスト型、メモ型、またはハイパーリンク型フィールドの既定では…



というところを読んで、やっと謎が解けました。

ありがとうございました。

返信する
Unknown (管理人)
2006-02-08 10:49:24
加奈さん、はじめまして。

blogを読んでくださってありがとうございます。



「Access」は、とても面白いアプリケーションですからどんどん工夫されて使いこなしてくださいね。



お役に立てたようで嬉しいです。
返信する
すごくわかりやすいです (007)
2008-05-11 15:02:28
Null 値と長さ 0 の文字列の違いが分からず、Googleで検索してたら、このブログに行き当たりました。不明点が解消されました。ありがとうございます。
返信する
ありがとうございます (管理人)
2008-05-21 15:45:49
こちらこそ、Blogをお読みいただきましてありがとうございました。

お役にたったこと、嬉しく思います。
返信する

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。