- ベストアンサー
アクセス関数で数字列を5桁にする方法
- アクセスのフィールドに関数を埋め込む際、数字列を5桁にする方法についての質問です。
- 現在の関数に誤りがあるため、うまく実行できていない状況です。
- 質問者はIIFとformat関数を使用して数字列を処理しようとしていますが、どこに問題があるかわかっていません。正しい方法を教えてほしいとのことです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
例データI D フィールド1 式1 1 0 00000 2 -3 -00003 3 1 00001 4 156 00156 5 -1000 -01000 6 15000 15000 式1は 式1: Format$([フィールド1],"00000;-00000;00000") マイナスだけが有効数字4桁だが其れで良いのなら 式1: Format$([フィールド1],"00000;-0000;00000") で質問のようになる。 3書式のFormat関数を使う。 順序はエクセルと同じく、正;負;0のときの順
その他の回答 (2)
- IDii24
- ベストアンサー率24% (1597/6506)
結果に前ゼロを入れたいと云う事は、結果は数値ではなく文字でよい?と云う事になりますが良いでしょうか? その場合は数値を文字に替えてから整えます。 iif([数字列]<0,"-"& right("00000" & cstr([数字列]),5) ,right("00000" & cstr([数字列]),5)) でもゼロだった場合 00000 になってしまうので、もしこれを 0 にしたければ、 iif([数字列]=0,"0",(iif([数字列]<0,"-"& right("00000" & cstr([数字列]),5) ,right("00000" & cstr([数字列]),5)))) て長くなってしまうしパフォーマンスも悪い。VBAでモジュール処理した方が良いとは思います。
お礼
ご丁寧にありがとうございました。 参考にさせていただきました。
- mitarashi
- ベストアンサー率59% (574/965)
formatの場所が違ってますね。思いこんでしまうと、間違いに気づきにくいモノです。ご参考まで。 式1: IIf([num]<0,Format([num],"0000"),Format([num],"00000"))
お礼
ありがとうございました。 助かりました。
お礼
いつもありがとうございます。 完璧な回答でした。 前提条件(正数は5桁、負数は4桁)も把握でき大変役に立ちました。