重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

Accessのクエリで抽出したデータをリストボックスに表示させているのですが、数値型・小数点以下表示桁数「0」の項目をリストボックスに表示させると、左寄せ(文字型?)で小数点以下2位まで表示されてしまいます。
例えばテーブルで「100」のデータがリストボックスでは「100.00」と表示されてしまいます。
テーブルの型と同じように表示させるにはどうしたらよいのでしょうか。

A 回答 (3件)

No1です。



ちょっと気になって調べていたら、こんなものがありました。
ということは、複数行の場合は右詰にはできないのでしょう。
解決策としては、
1. それらしきサブフォームを使う。
2. このように(参考URL)コントロールに手を入れる。
3. スペースを付け足して、プロポーショナルでないフォントを使う。
4. あきらめる。
のどれかであると思われます。

参考URL:http://www.lebans.com/justicombo.htm
    • good
    • 0

No1です。


邪道の道を突き進むのであれば、
クエリで値を抽出する際に以下のようなファンクションなどをかまして、テキスト変換してしまうという手もありますが、
Function AddCS(intValue) As String
strintvalue = ""
For x = Len(intValue) To 1 Step -1
strintvalue = Mid(intValue, x, 1) & strintvalue
If (Len(intValue) - x) Mod 3 = 2 And x <> 1 Then
strintvalue = "," & strintvalue
End If
Next x
AddCS = Space(15 - Len(strintvalue)) & strintvalue
End Function
ウーン 美しくない。
    • good
    • 0

私のaccess2000では、小数点以下が表示されてしまう現象は再現できませんでした。

邪道かもしれませんが、リストボックスの値集合ソースを以下のように強制的に整数に変えてしまうとどうなりますか?
SELECT INT([TableName].[FieldName]) FROM TableName;

左詰に関しては、文字配置では直りませんでした。 これも非常に汚いやり方なのであまりお勧めできませんが、文字列の前に無理やりスペースを入れてしまえばどうにかなるかも知れません。
以下のようなファンクションを一つ作って
Function AddSpace(intValue) as String
AddSpace = space(7-len(intValue)) & intValue
end function

リストボックスの値集合ソースを
SELECT AddSpace([TableName].[FieldName]) FROM TableName;
(リストボックスのフォントはプロポーショナルでないものを使わないとだめです。)
ファンクション内の
space(7-.....の7は7桁になるまでスペースを足すということです。

この回答への補足

ご回答ありがとうございます。
INTを使うと整数表示にはなるのですが、カンマが表示されなくなってしまいました。(できればカンマ表示したいのですが・・・)
左詰めはAccessの場合はそうなってしまうものなのでしょうか?

補足日時:2007/02/21 16:34
    • good
    • 0

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