• ベストアンサー

テキストボックス(###,#)の表示が16進数に変換されてしまう。

こんにちは。VBA(ACCESS2003)初心者です。 どうぞ、よろしくお願いします。 現在、テキストボックスにカンマ書式(###,#)を設定しているのですが、16桁以上の数値を入れると、16進数に変換されてしまうのです。 これを、変換させずに入力したままの値にするにはどうしたらいいのでしょうか? すみませんが、ご回答を宜しくお願いいたします。

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

  • ベストアンサー
  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.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) --------------------------------

funamin
質問者

お礼

ご回答ありがとう御座います。 サンプルを参考にさせていただきました。 decimal型の定義も出来なくて悩んでいたので、 かなり参考になりました。 本当にありがとうございました!

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

(1)数の最大表示桁数と関係あるのでは (2)>16進数に変換されてしまうのです 指数表示の間違いではないですか。実例を挙げてみてください。

funamin
質問者

お礼

大変失礼しました。指数表示の間違いでした。 早々のご回答ありがとうございました。

関連するQ&A

専門家に質問してみよう