• ベストアンサー

ACCESS2003で長整数型のフィールドに小数を入力した場合の動作について

お世話になります。 色々調べてみたのですが分からなかったので質問させて頂きました。 ACCESS2003のテーブル(またはフォーム)で長整数型のフィールドに小数を入力すると、銀行型の丸め?(ex 1.5→2、2.5→2)になってしまいますが、これを通常の四捨五入にすることはできないのでしょうか? よろしくお願いいたします。

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

  • ベストアンサー
  • venzou
  • ベストアンサー率71% (311/435)
回答No.2

ちょっと手遅れだったかもしれませんが・・・ データ型は整数型のままでも可能です。 テーブルの場合は難しいと思いますが、フォームの場合はテキストボックスで処理すれば整数型のままでもうまく行きました。 テキストボックスの更新後処理のイベントプロシージャ Private Sub テキスト0_AfterUpdate()  If IsNumeric(Me.テキスト0.Text) Then   Me.テキスト0.Value = Int(0.5 + Me.テキスト0.Text)  End If End Sub AfterUpdateの時点で、Valueには既に丸められた結果が入っていますが、Textには入力したデータ(丸められる前)が残ってます。それを利用して計算しています。(Access2000で動作確認)

rtx123456
質問者

お礼

お返事どうもありがとうございました。 なるほど~こういう方法が出来るのですね! 今回はフィールドの型を整数→倍精度浮動小数点に変更して 対処してしまいましたが、次回からはこちらの方法を参考にさせて頂きます。ありがとうございます。

その他の回答 (1)

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.1

組み込みの動作を変えることはできないでしょうね 小数点数のままで入力しておいて(もちろん浮動小数点型で)、 自分で四捨五入するしか方法は無いのでは

rtx123456
質問者

お礼

お返事どうもありがとうございました。やはり出来ないのですか。。 フィールドのデータ型を整数型→倍精度浮動小数点型に全部変更して、四捨五入する関数を作ってAfterUpdateプロパティに設定する。という方法で対処いたしました。

関連するQ&A

  • Accessで小数の入力について

    質問させていただきます。 Access2000を使用しております。そこで、フォームを利用してデータを入力するのですが、金額(通貨型)項目に、小数第2位まで入力する必要があります。テーブル、フォームの「小数点以下表示桁数」をそれぞれ ”2”に設定しました。これで入力すると、たとえば ”10.556” と入力すると ”10.56”と四捨五入されるのですが、実際にテーブルを見ると”10.556”で入力されています。 そこで質問ですが、フォームで入力するときに小数以下は2桁しか入力できないようにするにはどのようにすれば良いのでしょうか?3桁以上入力するとエラーを出せればベストです。よろしくお願いします。

  • Access2002長整数型での小数点処理

    いつも助けられています。 Accessのデータ型についてどなたか教えてください。 長整数型は整数しか指定できないのはわかります。 ただし、10.5と入れると「10」で、「10.6」と入れると「11」になるのがわかりません。 小数点処理は、四捨五入ではないのでしょうか? 何か特別な規則があるのでしょうか? お分かりになる方、よろしくお願いします。

  • アクセス2003で、数値のプロパティで、小数点以下の表示ができない

    アクセス2003を使っているのですが、テーブル上やフォーム上で、数値書式のフィールド上で、小数点以下の表示ができません。 プロパティで、書式を数値に設定して、小数点表示の設定を「2」に設定したのですが、どうしても、小数点が表示されずに、四捨五入して、整数表示してしまいます。 どこの設定がおかしいのでしょうか? どうやったら、小数点表示できますでしょうか?

  • Accessでの小数点以下入力規制について

    質問させていだきます(数日前にも同じ質問をしたのですが、再度アドバイスをお願いします)。 MS-Access2000を利用しております。 フォーム(たとえば伝票)を使ってデータを入力するのですが、金額項目(テーブルは通過型)に小数第二位までの値を入力する必要があります。 この項目の「小数点以下表示桁数」を ”2 ” に設定していますが、これでは小数以下が何桁でも入力できてしまいます(第二位で四捨五入される)。 そこで、この項目には第二位までしか入力できないようにしたいのですが・・・。理想的な方法は第三位以上入力すると、メッセージボックスを表示したいのですが・・・。その方法をお教えいただければ幸いです。以上、よろしくお願いいたします。

  • Access2003で小数点第1位未満四捨五入

    Access2003で小数点第1位未満四捨五入の表示をするにはどうしたらいいのでしょうか?int関数を使用して平均点の四捨五入をしたのですが、整数エラーになります。Roundsも使ったり色々やったのですが、どうやら違うようなので、困っています。助けて下さ~い。

  • Access2000 小数第3位で四捨五入

    質問させていただきます。 Access2000で以下の計算式を作りました。 金額 = Round(重量 × 単価,2) これは「金額」を小数第3位で四捨五入します。 ところが以下の数値の場合、正しく計算してくれません。 764.00 = 0.479 × 1595 本当は 764.005 だから 小数第3位で四捨五入すると 764.01 になると思うのですが・・・。 ちなみに以下の値では・・・ 754.44 = 0.473 × 1595 (754.435だから小数第3位で正しく四捨五入されています)。 やり方が悪いのでしょうか?それとも他に正しく計算できる方法があるのでしょうか?

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

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

  • 小数点を整数型に変換

    ・8.7  ・14.5 ・3.456 などのデータがあり、この値を四捨五入 などをせずに 「整数2桁 + 小数5桁」に変換したいのですが、String.Formatなどで行うと意図した値になりません。 ・8.7 ⇒ 87.00000 ・14.5 ⇒ 14.50000 ・3.456 ⇒ 34.56000 何か良い方法がありましたら、アドバイスを頂けないでしょうか。 言語:C# VisualStudio 2008 以上、よろしくお願い致します。

  • accessで困ってます。単価フィールドの設定を通貨型、小数点2桁まで

    accessで困ってます。単価フィールドの設定を通貨型、小数点2桁まで使用しています。必然的に表示は¥0.00になるかと思います。0以外なら、例)20.50円となって問題ないのですが、0だとレポート作成時に¥0.00が表示されてしまします。書式を#.###としても .00 となるだけで、0は消えません。消す方法をおしえていただけますでしょうか。 小数点桁数を自動にすると、表示が四捨五入されてしまうので、困ります。 宜しくお願い致します。

  • accessで2つのフィールドを同時に入力したい

    access2003を使っています。 フォームからではなく、テーブルに直接入力する場合での質問です。 [メインテーブル] NO |名前 |クラス ---|-------|--------- 1 |Aさん |1組 2 |Bさん |1組 3 |Cさん |2組 というテーブルがあって 名前のフィールドは以下のテーブルから ルックアップでコンボボックスを使って 入力したいと思っています。 [名前テーブル] 名前 |クラス -------|--------- Aさん |1組 Bさん |1組 Cさん |2組 そのとき、メインテーブルに「名前」を入力と同時に「クラス」も入力できるように したいのですが、どうしたらよいでしょうか?