Access の Null 値と、長さ 0 の文字列の違いについて

文書番号: 883247 - 対象製品
すべて展開する | すべて折りたたむ

目次

概要

この資料では、Microsoft Access で、値がない状態を示す 2 つの状態について、説明します。

詳細

フィールドに値がないもの (空白値) には、データが未入力のものや、Enter キーを押しただけの入力、半角および全角スペースが入力されているものなどがありますが、Access では、空白値を「Null 値」と「長さ 0 の文字列 (空文字列)」という 2 種類に識別しています。
これらは Access 上で区別される場合と、区別されない場合があります。

例?:

テーブルの値をコピー後貼り付けた場合
コピー元の値に関わらず、後述のテーブルにあらかじめ設定された動作に従い、空白値を挿入します。

Where 句などで、空白値を取り出す場合
"Is Null" および "Not Like "*"" は、フィールドに値がないもの (空白値) を抽出する時に使用する条件式です。
"Is Null" は フィールドに「Null 値」をもつものを検索し、"Not Like "*"" は、「長さ 0 の文字列 (空文字列)」を検索するという違う意味を持っていますが、抽出結果は同じです。

Null 値とは


Null 値とは、データが存在しないこと、またはデータが不定であることを示す値で、フィールドに入力したり、式およびクエリで使用する値です。
たとえば、空白値を抽出するために、抽出条件を "Is Null" とした場合は、空白で、かつ長さ 0 の文字列 (空文字列) も入力されていないものが抽出されます。

長さ 0 の文字列とは


長さ 0 の文字列とは、文字を 1 つも含まない空文字列のことで、意図的にフィールドに値がないことを示します。
長さ 0 の文字列を入力するには、スペースを含めずにダブル クォーテーションを 2 つ ("") 入力します。
テーブルによっては、長さ 0 の文字列を入力できない場合がありますが、テーブルのフィールド プロパティで設定を変更することができます。
たとえば、空白値以外を抽出するために抽出条件を "Like "*"" とした場合、空白でも、0 バイトの文字列 ("") が入力されている場合は、データが抽出されます。
空白値を抽出するために抽出条件を "Not Like "*"" とした場合、空白でも、0 バイトの文字列 ("") が入力されている場合は、データは抽出されません。

長さ 0 の文字列を入力するには


フィールドを空白のままにするときに、Null 値ではなく長さ 0 の文字列を入力する場合は、[値要求] プロパティおよび [空文字列の許可] プロパティの両方を [はい] にする必要があります。
[値要求] プロパティが [はい] の場合は、Null 値以外の値を入力する必要があります。
フィールドの [値要求] プロパティおよび [空文字列の許可] プロパティを [はい] にするには、以下の手順を実行します。
  1. テーブルをデザイン ビューで開きます。
    [オブジェクト] の [テーブル] をクリックし、一覧から任意のテーブルをクリックします。次に、[デザイン] をクリックします。
    ここでは例として、[商品] テーブルを選択します。
    元に戻す画像を拡大する
    40a


  2. フィールドを選択します。
    プロパティを変更するフィールドをクリックします。
    ここでは例として、[備考] を選択します。
    元に戻す画像を拡大する
    40b


  3. [値要求] および [空文字列の許可] プロパティの設定を変更します。
    [標準] タブをクリックします。次に、[値要求] および [空文字列の許可] ボックスの一覧から [はい] をクリックします。
    元に戻す画像を拡大する
    40c


  4. テーブルを閉じます。
    [閉じる] ボタンをクリックします。
    元に戻す画像を拡大する
    40d


  5. 変更内容を保存します。
    "テーブルの変更を保存しますか?" というメッセージが表示されたら、[はい] をクリックします。
    元に戻す画像を拡大する
    40e


ダブル クォーテーションを 2 つ ("") 入力することによって、長さゼロの文字列をテーブルに格納できるようになります。

値要求と空文字列の許可設定値の組み合わせから入力される値について


値要求と空文字列の許可設定値の組み合わせから入力される値は、以下のとおりです。
元に戻す全体を表示する
値要求空文字列の許可操作入力される値
いいえいいえEnter キーを押す。
Space キーを押す。
長さ 0 の文字列を入力する。
Null
Null
入力不可
いいえはいEnter キーを押す。
Space キーを押す。
長さ 0 の文字列を入力する。
Null
Null
長さ 0 の文字列
はいいいえEnter キーを押す。
Space キーを押す。
長さ 0 の文字列を入力する。
入力不可
入力不可
入力不可
はいはいEnter キーを押す。
Space キーを押す。
長さ 0 の文字列を入力する。
入力不可
長さ 0 の文字列
長さ 0 の文字列

関連情報

881379 データを抽出するには
882979 クエリでフィールドに値がないもの (Null 値) を抽出するには
883246 クエリで任意の文字列が含まれるフィールドを抽出するには
294954 [ACC2002] パラメータ クエリで LIKE 演算子を使用する方法
411174 [ACC2002] 空白値を含むテーブルを Excel 形式としてエクスポートした場合、空白セルとして認識されない

プロパティ

文書番号: 883247 - 最終更新日: 2010年7月8日 - リビジョン: 2.0
この資料は以下の製品について記述したものです。
  • Microsoft Office Access 2003
  • Microsoft Access 2002 Standard Edition
キーワード:?
kbhowto query kbbeginner KB883247
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com