- ベストアンサー
テキストボックス(###,#)の表示が16進数に変換されてしまう。
こんにちは。VBA(ACCESS2003)初心者です。 どうぞ、よろしくお願いします。 現在、テキストボックスにカンマ書式(###,#)を設定しているのですが、16桁以上の数値を入れると、16進数に変換されてしまうのです。 これを、変換させずに入力したままの値にするにはどうしたらいいのでしょうか? すみませんが、ご回答を宜しくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#1のかたがいわれてますように、最大桁数の範囲を超えています。通常のデータ型では16桁以上の整数を扱うことはでません。(long,currency,integer等) 16桁以上の整数はdecimal型で扱えます。(最大28桁まで) 但し、decimal型は dim data as decimalのような定義はできません。variant型の内部表現でのみ存在します。 これは、Cdec関数により、実現可能です。詳細はマニュアルを参照してください。 以下は20桁の整数をテキストボックスにカンマ書式(###,#)で表示するサンプルです。 ------------------------------------- Dim data As String Dim num As Variant Dim cnum As String cnum = "99999999999999999999" num = CDec(cnum) data = Format(num, "###,#") MsgBox (data) --------------------------------
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
(1)数の最大表示桁数と関係あるのでは (2)>16進数に変換されてしまうのです 指数表示の間違いではないですか。実例を挙げてみてください。
お礼
大変失礼しました。指数表示の間違いでした。 早々のご回答ありがとうございました。
お礼
ご回答ありがとう御座います。 サンプルを参考にさせていただきました。 decimal型の定義も出来なくて悩んでいたので、 かなり参考になりました。 本当にありがとうございました!