• ベストアンサー

Accessのフィールドサイズ

Access2000を使用していますが、テーブル作成時に 「テキスト型」でフィールドサイズを「10」に設定して データを入力すると、半角でも全角でも「10桁」までの入力に なりますが、フィールドサイズは半角も全角も関係ないのでしょうか? 「テキスト型」の最大フィールドサイズは「半角255文字」と 思っていたのですが、全角でも255文字入力できました。

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

  • ベストアンサー
  • ARC
  • ベストアンサー率46% (643/1383)
回答No.1

Access2000からは、DBに格納される文字コードがUnicode(ユニコード)になったのです。Access97以前は、Shift-JISで格納されていました。 Shift-JISは、半角文字→1バイト、全角文字→2バイトで表現されています。 Unicodeは、半角→2バイト、全角→2バイトです。 で、Access97における仕様では フィールドサイズ10 = 最大10バイト = 全角5文字が限界 となっていたのが、Acces2000になった段階で、 フィールドサイズ10 = Unicodeで10文字分 = 全角10文字が限界 と改定されたわけです。 ただし、半角でも2バイト消費するということは、欧米人にとってははなはだ無駄なことに映るらしく(笑)、フィールドのプロパティに「Unicode圧縮」という項目が追加されました。 これを「はい」にすると、半角文字の消費領域を1バイトに減らせることができます。(ただし、フィールドサイズが10なら最大10文字なのは変わりません.)

yuuchan
質問者

お礼

早速お答えいただきありがとうございました。 なるほど、そうだったんですね。 大変分かりやすい説明でよくわかりました。