現在オフラインです。再接続するためにインターネットの接続を待っています

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

Office 2003 のサポートは終了しました

マイクロソフトでは、2014 年 4 月 8 日に Office 2003 のサポートを終了しました。この変更は、ソフトウェアの更新プログラムおよびセキュリティ オプションに影響しています。 この変更の意味および保護された状態を維持する方法について説明します。

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

例 :

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

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


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


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


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


  2. フィールドを選択します。
    プロパティを変更するフィールドをクリックします。
    ここでは例として、[備考] を選択します。


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


  4. テーブルを閉じます。
    [閉じる] ボタンをクリックします。


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


ダブル クォーテーションを 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 形式としてエクスポートした場合、空白セルとして認識されない
kblight TK001340 acc23 Access 2003 関数 kbAccess2003Search func ACC2003 accxp Access 2002 クエリ kbaccesssearch query ACC2002
プロパティ

文書番号:883247 - 最終更新日: 07/08/2010 09:57:00 - リビジョン: 2.0

Microsoft Office Access 2003, Microsoft Access 2002 Standard Edition

  • kbhowto query kbbeginner KB883247
フィードバック