- PR -

Format関数に関して

1
投稿者投稿内容
damepg
大ベテラン
会議室デビュー日: 2003/03/19
投稿数: 229
お住まい・勤務地: 東京都内
投稿日時: 2003-05-21 16:36
Format関数で3桁毎にカンマで区切りたいのですが、
下記の処理だときちんと
drDetail(0)にはウォッチャーで見たところ、Stringで300というデータが
入ってました。
しかし、表示されるデータは ###,###,##0 になってしまいます。
Formatが効いていないようなのですが、何が原因なのでしょうか?
よきアドバイスをお願いします。

Format(drDetail(0), "###,###,##0")
小野@どっとねっとふぁん
ぬし
会議室デビュー日: 2001/10/30
投稿数: 402
投稿日時: 2003-05-21 16:47
drDetail(0)の値が「文字列」だからでは?
Format関数の書式指定の対象は数値か日付/時刻、ってちゃんとドキュメントに
記述されてますけど。
Mr.タナカ
ベテラン
会議室デビュー日: 2003/03/15
投稿数: 64
投稿日時: 2003-05-21 17:09
こんにちは。
スレッド見ました。

Format関数はVB6の時代に比べると厳格になりました。
確かに文字列のままだと、そうなると思います。
なので今回は「Cint・Clng・Cdec」などで数値に変換すれば望んでる結果になると思います。

Format(Cdec(drDetail(0)), "###,###,##0")
↑こんな感じです。
damepg
大ベテラン
会議室デビュー日: 2003/03/19
投稿数: 229
お住まい・勤務地: 東京都内
投稿日時: 2003-05-21 23:43
皆さんのおっしゃる通りでした。
DBのカラム自体がVarcharでした。int型に変更したらFormat関数が
動作しました。
ありがとうございました。

引用:

Mr.タナカさんの書き込み (2003-05-21 17:09) より:
こんにちは。
スレッド見ました。

Format関数はVB6の時代に比べると厳格になりました。
確かに文字列のままだと、そうなると思います。
なので今回は「Cint・Clng・Cdec」などで数値に変換すれば望んでる結果になると思います。

Format(Cdec(drDetail(0)), "###,###,##0")
↑こんな感じです。


1

スキルアップ/キャリアアップ(JOB@IT)