掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Access2002 VBAでフィールドに書式設定する正しい記述は? (ID:103486)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Access2002 質問するのは初めてです。よろしくお願いします。 気になる現象があります。 ただし、結論から言うと次の現象の回避策は解決しています。 Me![フィールド名].Format = "#,##0;[赤]-#,##0;[青]0;[白]…" 上記コードで書式を変更すると、書式が次のようになってしまいます。 0;-0 次の書式をVBAではなく手作業でプロパティに登録した場合 #,##0;[赤]-#,##0;[青]0;[白]… イミディエイトには次の文字が表示される。 #,##0;[Red]-#,##0;[Blue]0;[White]… イミディエイトに表示されたこの書式をプロパティに手作業でコピペすると、次の通りなってしまう。 #,##0;"[Red]-"#,##0;"[Blue]"0;"[White]…" 実際の表示は、[Blue]0 となる。 この現象をご存知の方はおられますか? そもそも次のコードは記述が間違っているのでしょうか? Me![フィールド名].Format = "#,##0;[赤]-#,##0;[青]0;[白]…" ちなみにExcel2013では問題なく動作しました。[白]…は無視されるようです。 ただし漢字が英文字に変わるのは同じです。 Range("A1").NumberFormat = "###0;-###0" Debug.Print Range("A1").NumberFormat イミディエイト:###0;-###0 Range("A1").NumberFormatLocal = "#,##0;[赤]-#,##0;[青]0;[白]…" Debug.Print Range("A1").NumberFormat イミディエイト:#,##0;[Red]-#,##0;[Blue]0;[White]… ※なお、回避策は次のようなコードにしました。 ' モジュールレベル ' String 変数や定数だと書式が意図したものにならなかった。 Dim Format_Cm As Variant ------------------------------------------------------------------ ' フィールドのEnterイベント ' #,##0;[赤]-#,##0;[青]0;[白]…が登録済みの書式を変数に退避 Format_Cm = Me![フィールド名].Format ' フィールドに式を入れて計算結果を出せるようにするためコンマのない書式に変更する。なお、"###0;-###0"であれば次のようなコードでも問題は発生しなかった。 Me![フィールド名].Format = "###0;-###0" ------------------------------------------------------------------ ' Exitイベントで元の書式に戻す。 Me![フィールド名].Format = Format_Cm
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.