• ベストアンサー

access 通貨型 表示桁数 4捨5入 誤差

データ型 「通貨型」  表示桁数「自動 又は、0」指定 入力値 123.5 表示は 124となります。 その項目を2倍すると 247と なります。 248とはなりません。 入力値を整数にする(少数以下が入力できないようにする) 入力規則はどうしたらいいでしょうか。 

質問者が選んだベストアンサー

  • ベストアンサー
  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.2

是非はおいておくと、入力規則 = INT([フィールド名]) で可能です。そのフィールド名が Num なら、 デザインモードでテーブルを開き、Num フィールドの プロパティー欄で入力規則を設定します。

k7qa170622
質問者

お礼

本当にありがとうございます。 フィールド名 通貨型てすと 入力規則に =Int([通貨型てすと]) で 123.5と入力すると エラーメッセージを出してくれます。 123 や -123は大丈夫です。

その他の回答 (1)

  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

データ型 「通貨型」  表示桁数「自動 又は、0」指定 入力値 123.5 表示は 124となります。 その項目を2倍すると 247と なります。 248とはなりません。 そうなります。見た目と内部に保存されているデータとは異なります。 残念ながら入力規制では出来ません。 テーブルデザインの入力規制欄でF1(ヘルプ)でご確認ください。 やるとするとフォームに配置したテキストボックスの更新前処理あたりに If Me!テキストボックス名 Mod 1 <> 0 then ' 1 で割って 余りが0 でない Cancel = true Exit Sub End If として弾くか あるいは視点を変えて 桁数が間に合えば長整数型にしておいて 小数点が絡む計算では、Ccur(フィールド名)で通貨型に変換して 行うとか? ではないかと思います。

k7qa170622
質問者

お礼

こんにちは、お礼が遅れて申し訳ありません。 ちょうど今ACCESSのVBAの勉強を始めたばかりです。 やっと下記のコードを書きました。 1で割ると小数以下の余りは0になるようなので 10000を掛けて 10000で割り余りが整数になるように しました。少数以下最大4桁入力可なので 10000を掛けました。 どうもありがとうございました。 また、わからないときは教えてください。 Private Sub tuukaGATA_BeforeUpdate(Cancel As Integer) If Me!tuukaGATA * 10000 Mod 10000 <> 0 Then Cancel = True Exit Sub End If End Sub

関連するQ&A

  • Microsoft Access エクスポート時の「通貨型」数値の小数点表示について

    OS:win2000 Access 2000 を使用しています Microsoft Accessにて… テーブルのデータ型を「通貨型」で選択し、書式「通貨」で設定した項目を エクセルにエクスポートすると小数点以下.00と表示されてしまします。 具体例として、「\20,000」と入力した項目が エクセルにエクスポートすると「\20,000.00」と表示されるのです。 エクセル側の書式設定で修正すれば直るのですが、 めんどくさいのでアクセス側の設定で修正出来ないでしょうか? 「小数点以下表示桁数」とかもいじってみましたがダメでした… ちなみにエクセルは「2000」を使用しています

  • Accessのデータ型について質問です。

    Accessのデータ型について質問です。 Accessの数値型に 整数型と浮動小数点がありますが、 (1)整数型のフィールドプロパティに「小数点以下表示桁数」の項目があるのでしょうか? (2)浮動小数点表示桁数を「自動」と「桁数指定」するのとでは、データサイズが変わるのでしょうか? どなたかご存じの方がおられましたら、ご教授よろしくお願いいたします。 m(_ _)m

  • Access ¥マークを表示しない

    データ型を通貨型にし、書式も通貨型にしたとき、フォームで¥マークを表示しないようにできないでしょうか? (数値型にすると「小数点以下の表示桁数」を0にしても金額に小数点以下が表示されます)

  • Accessで小数点以下の桁数を・・?

    教えてください。 Accessで小数点以下の桁数を表示したいのですが、プロパティで小数点以下の桁数を表示することができるのですが、実際に入力すると値が四捨五入されてしまい小数点以下の桁数を入力することができません。どうしたらよいのでしょうか?

  • エクセル 表示桁数変更の仕方を御指導願います。

    例 A1に任意の整数を入力すると。A2に数値B2に単位(無、万、億、兆)を表示するようにしたい。     9876 とA1に入力   A2:9876    B2:無    12345 とA1に入力   A2:1.2345   B2:万    A2:小数点以下4桁 12340 とA1に入力    A2:1.2340   B2:万    A2:小数点以下4桁  123456789とA1に入力   A2:1.23456789  B2:億    A2:小数点以下8桁    ユーザ定義で指定する表示桁数を関数で変更できる方法は有りませんか?  特に10000と入力したとき、1と表示するのでは無く、1.0000と表示させたいのです。  どなたか、御指導をお願いします。            

  • エクセルの関数について

    エクセルで、こんな時にはどういう関数を使えばいいか、教えてください。 セルに数字を入力しますが、たとえば「5.5」と入力した時はそのまま 「5.5」と、「5」と入力した時は「5.0」ではなくて「5」と 表示したいのです。 どうすれば、整数は整数のまま、少数の時は小数点以下まで表示できるでしょうか? ちなみに、その都度桁数を指定せず、数字を入力したら、勝手にそうなるようにしたいのですが・・・ わがままな質問ですみません。 どなたか教えてください。

  • 【Excel】以下のユーザー定義を教えてください

    年について任意の数値入力は「###"年"」と設定しますが、以下のものに対する自動で単位表記の設定、また不明点を教えてください。 (1)月→「01月」というよう形式で、任意の数値入力で「月」が自動表記 (2)日→「01日」というような形式で、任意の数値入力で「日」が自動表記 (3)任意の数値入力「平成または令和」が冒頭に、「年」が語尾につく。 (4)「数値」「通貨」「会計」の違いを教えてください。実際、これらはすべて「数値」扱いなのでしょうか? 「通貨」「会計」でも数字と同じように扱われ、計算ができるのならこんなにそろえなくてもよいと思いますが…。何か違いはあるのでしょうか? たとえば家計簿で使うものなら、どれが適しているのでしょう? (5)「0」と「#」の違いについてわかりません。 https://support.microsoft.com/ja-jp/help/883199 ここでの解説では「#」については 「1桁の数字を示します。# の数だけ桁数が指定され、その有効桁数しか表示されません。また、余分な 0 も表示されません。」 とありますが、実際「####」と4桁に設定した場合、「111111111」と入力しても4桁にはなりません。4桁以上入力したら自動で4桁に修正してくれるものではないのでしょうか? 同様「0」についても 「1桁の数字を示すが、指定したゼロの桁数だけ常にゼロが表示されます。」 とのことですが、常にゼロ表示のはずがたとえば「0000」の設定で「1111」と入力した場合そのまま「1111」と表示されます。 これも同じように整数を入力するとゼロに軌道修正されるのかと思うのですが違うのでしょうか?としたら整数と0を分ける意味があるのですか? なぜでしょう?

  • Access 入力規則で設定できる数字桁数は?

    どなたか助けてください。 入力規則で13桁以上入力できないように、入力規則に[<10000000000000]と設定しています。 しかし、なぜか11桁以上入力すると「この入力した値は不正です」とエラーメッセージが表示されてしまいます。 これって入力規則に設定できる最大桁数のMAXが決まっているのでしょうか? どこで調べたらよいのか分からなかった為質問してみました。 すいませんがよろしくお願いします。

  • printfの小数点以下の表示桁数につい

    Java超初心者です。宜しくお願い致します。 System.out.printf("%8f\n",15.8); は8桁表示のはずですが、 実行すると、 15.800000 と、いう風に9桁になります。 詳しい方はきっと当たり前と思うと思いますが、 小数点以下の桁数がどういう基準で決められるのか、 つまりゼロ(0)がいくつ並ぶか、というのがよくわかりません。 %12f に変更すると、    15.800000 と、左側にスペースが3つ入ります。 12桁と指定しても、小数点以下のゼロが5つだから、左にスペースが3つ入るわけですよね。 結局、小数点以下の桁数を指定していないのに勝手にゼロが並ぶので、 表示は実行してみるまでどうなるか解らない、という状況です。 規則というか、ルールを解りやすく教えて頂けると嬉しく思います。 宜しくお願い致します。

    • ベストアンサー
    • Java
  • エクセルの桁数表示がおかしくなった!

    エクセルの桁数表示が突然おかしくなりました。 10000と入力すると100と表示され、計算上も100と認識してしまいます。 1000と入力すると10と表示され、計算上も10と認識してしまいます。 100と入力すると1と表示され、計算上も1と認識してしまいます。 1と入力すると0と表示され、計算上は0.01と認識してしまいます。 12345と入力すると123と表示され、計算上は123.45と認識してしまいます。 つまり、桁数が100分の1になってしまいます。 セルの書式設定でいろいろしてみましたが、なおりません… 元に戻すにはどうすればよいのでしょうか? よろしくお願いいたします。

専門家に質問してみよう