• ベストアンサー

Access2000、2002でのテーブル作成のプロパティで

テーブルを作成し、たとえば“氏名を入力する際に空白にしてはいけない”という 設定にしたいのですが、  人に聞いたところ、2通りの返事が返って来ました。 プロパティで、値要求をはいとするというのと、入力規則のところにIs Not Nullとするという2つの返事が返って来ました。 この2つにはどういう違いがあるのでしょうか? また、どっちがいいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • bobble
  • ベストアンサー率34% (111/323)
回答No.2

こんにちわ。takntさんと同じ事になるんですがちょっと補足・・・ 入力規則にis not null を入れて置く事は、値要求”はい”とその下の空文字列の許可”いいえ”(←これはデフォルトで”いいえ”です)とイコールになります。 この3つの関係は  入力規則  値要求   空文字      null値  空白   なし    はい   いいえ       ×    ×   なし    はい   はい        ×    ○   なし   いいえ   いいえ       ○    ○   なし   いいえ   はい        ○    ○  isnotnull  はい   はい        ×    ○  isnotnull  はい   いいえ       ×    ×  isnotnull  いいえ   いいえ       ×    ×  isnotnull  いいえ   はい       ×    ×     となるはず?です。 つまり入力規則にis not null と設定していても値要求を”はい”にして空文字を”はい”に設定すると空白文字の入力はOKになってしまいます。 値要求を”はい”にすると入力規則よりも空文字・・の設定を優先します。 間違っていたらすいません。

noname#9485
質問者

お礼

回答ありがとうございます。 詳しく書いていただきありがとうございます。 本当に勉強になります。

その他の回答 (2)

  • yoisho
  • ベストアンサー率64% (331/516)
回答No.3

すでにみなさんから回答(値要求、入力規則のどちらでもOK)が出ていますが、さらにもうちょっと詳しく。 「値要求」や「空文字列の許可」プロパティは、単に null値や空文字列を禁止するためのものですが、 「入力規則」プロパティを使うと、その他にもいろいろと入力する値に規制をかけられます。(例えば、“OK太郎”という名前は入れられない とか) その他、「入力規則」なら、ユーザーでエラーメッセージを決められる という利点もあります。 例えば「値要求」で null値に規制をかけておくと、氏名を入力しないでレコードを更新しようとしたときに “フィールドに必要なプロパティが~・・・・” というメッセージが表示されてしまいます。 すると入力者は、「おれ、なんか悪いことした?」と戸惑うことになるかもしれません。 一方、「入力規則」なら、「エラーメッセージ」プロパティに、例えば “氏名は必ず入力してください。” と記述しておけば、「おっと、名前を入れ忘れた。」というように、レコードが更新できない理由をわかってもらえます。 ここで注意すべき点ですが、エラーの判断は、「入力規則」よりも「値要求」や「空文字列の許可」が優先されますので、任意の「エラーメッセージ」を表示させたい場合は、「値要求」を “いいえ” 、「空文字列の許可」を “はい” としておいてください。 ついでに、「入力規則」の記述方法についても補足です。 何も入力されていない場合を規制するなら、 “Is Not Null” (null値でない場合は許可) 空文字列を禁止(わざわざ "" と入力する人はいないかもしれませんが)するなら、 “<>""” (空文字列("")と等しくなければ許可) 氏名の入力ですから、IMEのモードは “かな” になっていると思いますが、全角スペースは文字として認識されてしまいますので、これを規制するなら、 “Not Like " *"” (文字列の始まりが全角スペースでない場合は許可) 上記の全ての条件を合わせる場合は、 “Is Not Null And <>"" And Not Like " *"” と記述することになります。 一応、それぞれのプロパティについては、HELPで確認しておいてください。

noname#9485
質問者

お礼

回答ありがとうございます。 >“フィールドに必要なプロパティが~・・・・” というメッセージが表示されてしまいます。 すると入力者は、「おれ、なんか悪いことした?」と戸惑うことになるかもしれません。 そうですね~何回も”何か悪いことした?”を経験しちゃいました。(^^ゞ

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

どっちでもいいです。 両方とも 空白のみには できない設定になります。

noname#9485
質問者

お礼

回答ありがとうございます。 御礼が遅くなり済みませんでした。

関連するQ&A