プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (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文字なのは変わりません.)
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/03/14 16:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!