unicode型 入力文字数の制限
SQL Serverのある項目が文字型 60 でした。
半角なら60文字、全角なら30文字入力が可能でした。
この項目をunicode型 60へ変更すると
文字型で言う半角120字入力が可能になります。
unicode型だけど、文字型同様の入力文字数制限は可能でしょうか?
-
nkmtさん、
Unicode型の書式を「30」にすればいいと思いますよ。
なぜそういう計算になるのかというのは、Unicodeというものが発案された経緯について考察する必要があると思います。
Unicodeが登場した当初は、半角・全角という概念を取り払おうというのが趣旨でした。したがって、全角の漢字であろうと半角のカタカナであろうと1文字は1文字で扱おうということになったわけです。
ところが、その後何年かたって、やっぱり昔のように半角カナは半角カナで存在してほしいという声が盛り上がってきて、この時点で半角カナが復活したわけです。
したがって、Magicでは文字型60をUnicodeに変換すると、当初の思惑通りUnicode60に変換されるのですが、この時にカナも60文字入力できるようになったわけです。
その後、Unicodeに半角カナというものが復活するようになってしまって、その計算でいくと、60文字のUnicodeは結果として半角カナで120文字入るという動きになってしまったわけです。
したがって、nkmtさんの望みの動きに戻そうと言うのなら、Unicode60を元のようにUnicode30(漢字で30文字)に戻してやればいいわけです。
-
tanda様 いつもありがとうございます。
文字数を余計に入力出来なくなるのでいいと思いました。
ですが文字型 60 の場合、半角 60字、全角 30字の入力が出来ましたが
unicode 30 にすると、全角 30字入力でGoodですが
半角も 30字の入力になってしまい、お客様からOKをもらえそうにないです。
建設資材の品名や規格を入力するのですが、商品マスタの商品名を充実させたいとおっしゃってまして。 -
nkmtさん、
あれっ、nkmtさんは上でこう言っておられますが。。。
> この項目をunicode型 60へ変更すると
> 文字型で言う半角120字入力が可能になります。 -
tandaさん お世話になっております。
もう1度1から色々と試してみたいと思います。
いろんな文字が入力が出来て
且つ、全角換算 30字(半角 60字)のような入力を目指して。
お騒がせしましてすみません。 -
nkmtさん、
Unicodeの歴史をたどれば、なぜそのような2種類のカナコードが存在するのかがよく分かりますよ。
頑張ってくださいね。
-
最初の投稿は以下を書きたかったわけです。
文字型の時は、半角 60字(全角 30字)の入力でしたが、
unicodeにすると全角も60字分入力が出来てしまい 都合が悪い
という意味でした。 -
nkmtさん、
繰り返しになりますが、Unicodeは全角・半角という古い概念を無くそうという趣旨で登場しましたので、そのような動きになっているわけです。
Wikipediaとかを参照されれば、いろいろと歴史的な変遷が分かると思いますよ。
-
nkmtさん、
仮に、Magic側で勝手に「文字型60」を「Unicode30」に自動変換してしまうと、それはそれでユーザから苦情がくることになりますからね。
-
unicodeだとどちらも60文字なんでしょうけど
全角なら30字まで、半角なら60字まで入力を可能にする件、なんか試してみます。 -
キャレットポスゲット関数が使えないか試してみます。
-
イベント Lastpark(0)=’品名’ AND CaretPosGet()>=(数値) なら
次項目イベント実行 みたいな事は機能しましたが
2度とその項目にパーキング出来なくなりました。
項目にパーキングすると、キャレットが最後尾に位置付くのでしょうね。 -
先程のCaretPosGetですが
バイト数ではなく
文字数で判断しているみたいなので、別の試しをしてみます。
サインインしてコメントを残してください。
コメント
12件のコメント