テーブルのレコードに小数点以下の値を入力してもレコードに値が反映されず整数値で登録される
Microsoft Accessでテーブルのレコード編集で小数点以下の値を入力してもレコードに値が反映されない現象を紹介します。
現象
レコードの編集画面で、浮動小数点型に設定した行の値を編集します。(下図の例ではweight列)
入力を確定すると、小数点以下が切り上げられ、整数値になってしまいます。しかし、フィールドの値は小数点以下2桁表示されています。
原因
フィールドサイズが整数型のままになっている可能性があります。
対応手順
データベースファイルを開きます。
左側のエリアで、対象のテーブルをクリックして選択し、右クリックします。ポップアップメニューが表示されますので、メニューの[デザインビュー]をクリックします。
テーブルの編集画面が表示されます。右側のテーブルのデザインビューで変更したい列をクリックして選択します。列は[数値型]に設定されていることが分かります。
テーブルのデザインビューの下のエリアに選択した列の詳細な情報が表示されています。[フィールドサイズ]の項目を確認すると、長整数型になっていることが分かります。この状態では小数点以下の数値は無効になってしまいます。

[フィールドサイズ]の項目の値をクリックします。コンボボックスが開き、型の一覧が表示されます。小数点以下の値を扱う場合は[単精度浮動小数点型]や[倍精度浮動小数点型]を選択します。
今回は[単精度浮動小数点型]に設定します。
レコードの編集画面で、小数点を含む数値を入力します。入力を確定すると、小数点を含む数値で入力内容が反映されました。
補足
SQL Serverでは、データ型の部分で整数型と数値型に分かれていますが、Accessでは数値型の内部で整数型と浮動小数点型に分かれているため、間違いやすい部分です。
著者
iPentecの企画・分析担当。口が悪いのでなるべく寡黙でありたいと思っている。が、ついついしゃべってしまい、毎回墓穴を掘っている。