• ベストアンサー

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