Microsoft Access 掲示板

小数点と負の値の書式設定がわかりません

7 コメント
views
4 フォロー

お世話になります。

単精度浮動小数点型のフィールドをコントロールソースとしているテキストボックスの値を以下のように表示させたいです。
1.正の値は黒/負の値は赤
2.小数点以下の数値があればその値の桁数まで表示/なければ整数のみで表示
3.値が0のときは非表示(0は入力された状態のままで)

いろいろサイトを見ながらチャレンジしてみましたが、どれか一方はできるのですが、
すべての条件を満たす方法がわかりません。

ご教授宜しくお願い致します。

nuneru
作成: 2023/04/21 (金) 09:41:40
最終更新: 2023/04/21 (金) 09:52:37
通報 ...
1
hiroton 2023/04/21 (金) 10:06:51 d401c@f966d

色の設定は条件付き書式で設定してみては?

2
nuneru 2023/04/21 (金) 10:22:13 e48ae@9a838

ありがとうございます。色は条件付き書式でできました!
ですが2番と3番を同時に満たすにはどうしたらよいでしょう?
0も条件付き書式で白にして、見えないようにすることもできますが、入力時に困るので、他の方法を探しています。

3
hiroton 2023/04/21 (金) 10:44:19 d401c@f966d

3番ってなんでしょう?
単純にフィールドリストからコントロールを配置し、条件付き書式だけ設定すれば目的の状態になると思いますが

ちなみにこの時のテキストボックスのプロパティは

書式       |(空白)
小数点以下表示桁数|自動

になっていると思いますがどうですか?

4
nuneru 2023/04/21 (金) 11:25:32 e48ae@9a838

テキストボックスのプロパティはおっしゃる通りになっています。
条件付き書式も教えて頂いたとおり設定しました。
その状態で、値が0のときは0を非表示にしたいのですが、如何でしょうか?

5
hiroton 2023/04/21 (金) 14:24:50 d401c@f966d

複雑になってくると一発でとはなかなかいかないですねぇ
他に何かうまい方法を知っている人がいるかもしれませんが


レコードソースをクエリにして「正の値表示」「負の値表示」フィールドを作成します

正の値表示: IIf([値]>0,Mid([値],1)+0)
負の値表示: IIf([値]<0,Mid([値],1)+0)

フォームには追加した2つのフィールドと合わせて3つのテキストボックスを配置します
各テキストボックスは次のように設定します

正の値表示テキストボックス

背景スタイル  |透明
タブストップ  |いいえ
フォーカス取得時|[イベント プロシージャ]

フォーカス取得時のプロシージャは次の通りにします

Private Sub 正の値表示_Enter()
    Me!値.SetFocus
End Sub

負の値表示テキストボックス

前景色     |(赤の色コード)
タブストップ  |いいえ

これら3つのテキストボックスをサイズを揃えて正面から「正の値表示」「負の値表示」「値」の順で重ねて配置します
これで目的の見た目になると思います

※フィールド名は適切なものに書き換えてください

6
hiroton 2023/04/24 (月) 09:00:23 fe8f1@f966d

hirotonは普段条件付き書式を使わないのでアレでしたが、ちょっと考えてみたら条件付き書式だけでも行けそうでした

値が 0 より小さい |前景色:赤
フォーカスがある  |前景色:黒
値が 0 と等しい  |前景色:(背景色と同じにする)
7
nuneru 2023/04/27 (木) 09:48:53 e48ae@9a838

ありがとうございました。回答遅くすみません。いろいろ苦戦していました。
最終的に教えて頂いた【レコードソースをクエリにして「正の値表示」「負の値表示」フィールドを作成する】方法で解決しました。

本当にありがとうございました。