
AccessからExcelへエクスポート時に小数点以下の桁数がおかしくなります。
59.20
118.40
118.40
77.70
49.20
↓↓↓↓↓
59.20000076
118.4000015
118.4000015
77.69999695
49.20000076
の様になってしまいます。
以下エクスポート処理です。
StrSQL = "SELECT MaxSize FROM SizeTabel" ←本当はかなり長いSQL
Set QueryTemp = CurrentDb.CreateQueryDef("ExportSQL", StrSQL)
DoCmd.SelectObject acQuery, "ExportSQL", True
DoCmd.TransferSpreadsheet acExport, 8, "ExportSQL", Application.CurrentProject.Path & "\test.xls", False, ""
CurrentDb.QueryDefs.Delete ("ExportSQL")
Format関数で桁数を調整したりはしたのですが、精度が必要な為、原因を追究したいと考えています。
アドバイスよろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
空のデータベースを1つ作り
テーブルの新規作成(デザインビュー)
で適当なテーブルを1つ作ります
KEY,フィールド名,データ型
■,id, オートナンバー
□,data, 数値型(単精度浮動小数点型、少数点以下桁数=15)
で、dataに以下を入力
59.20
118.40
118.40
77.70
49.20
その後、テーブルのデザインビューで
□,data,数値型を
倍制度浮動小数点 に変更してテーブルを見ると
data
59.2000007629395
118.400001525879
118.400001525879
77.6999969482422
49.2000007629395
これと同じ事が、EXCEL か ACCESS の
自分で修正できないような内部の処理のどこかで
行われています。
原因は、そういう事です
参考URL:http://pc.nikkeibp.co.jp/pc21/special/gosa/eg1.s …
アドバイスありがとうございます。
現在は
Format関数をあててみたのですが、
Excelエクスポート時に左寄せになってしまいます。
また、Round関数では、数値はまったく変わりませんでした。
何か良い方法をご存知ないですか?
No.2
- 回答日時:
Access側では、データ型が単精度の数値型ということのようですね。
#1の方の内容を参考にすると、Excel側ではそれが倍精度に拡張されたようですね。或いは、Access側で拡張してからエクスポートされたのかもしれないが。
浮動小数点数には誤差がつきものなので、普通は問題にしません。精度は保持されているし(少なくとも単精度分の精度は)。
でも、入力データが59.20だから、これをそのまま表示したいと言う気持ちも分かります。
単なる表示上の問題ならExcel側で小数点以下の桁数を2にすればよいでしょう。
表示上でなく、データそのものを正確に59.20にしたいと言うことなら浮動小数点数は使えませんので、例えば、100倍した値の5920を整数型で保持すると言うことになるでしょう。この場合、このデータは使用する時点で100で割ることになります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) accessデータを指定したExcel、そして指定したセルへエクスポートするaccess VBAコー 2 2023/05/17 17:02
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- Excel(エクセル) Excelのtextboxへの入力で小数点以下に0が続く場合でも正しく表示したい 3 2022/04/11 13:53
- その他(データベース) Accessフォームにて指定のフィールドの平均値を小数点第一位で表示できない 2 2022/08/30 17:19
- Excel(エクセル) [クイックアクセスツールバー]の設定ファイルの格納場所について、 5 2023/04/21 14:43
- 高校 高校化学、気体、温度の有効数字 3 2023/04/02 11:39
- Access(アクセス) Accessのスプレッドシートエクスポートで、シートが追加されてしまう 2 2022/07/16 21:45
- その他(パソコン・スマホ・電化製品) EXCELのSUMPRODUCT関数について 2 2022/09/21 17:30
- 数学 以下の問題が分かりません。 8ビット浮動小数点数が、最上位ビットから順に符号1ビット、指数部3ビット 4 2023/07/22 16:06
- Excel(エクセル) こんにちは。ExcelのVLOOKUP関数のことで教えてください。 2 2022/05/07 11:33
このQ&Aを見た人はこんなQ&Aも見ています
-
Accessデータをテキスト変換する時、小数点以下の桁数が切れてしまう
Excel(エクセル)
-
アクセスのテーブルからエクスポートした際のケタ落ち
Access(アクセス)
-
Microsoft Access エクスポート時の「通貨型」数値の小数点表示について
Access(アクセス)
-
-
4
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
5
Access ¥マークを表示しない
Excel(エクセル)
-
6
access テキストボックスの値取得
Access(アクセス)
-
7
アクセスで追加した項目に全て同じ値を一発で入れたい
Access(アクセス)
-
8
ACCESS側からEXCELの書式を設定するには?
Visual Basic(VBA)
-
9
ODBCリンクの際にACCESSでは読み取り専用にしたい!
Oracle
-
10
テーブルに小数点以下の値を入れたい場合
Access(アクセス)
-
11
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
12
accessでクエリをExcelにエクスポートする時にファイル名に日付を追加したい
Access(アクセス)
-
13
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
14
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
15
「#エラー」の回避
Access(アクセス)
-
16
Accessの桁区切りについて教えてください。
Access(アクセス)
-
17
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
18
Accessで小数点以下を切り捨てたいんですが
その他(データベース)
-
19
Access→Excelへエクスポートすると日付の表示形式が変化する
Excel(エクセル)
-
20
Access2010 「演算子がありません」エラー
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
『列名 '担当者CD' があいま...
-
他のMDBのテーブルに追加したい
-
[C#] DataGridViewでコンボボッ...
-
AccessからExcelへエクスポート...
-
ワークテーブルの作成について
-
DAOの作成単位について
-
DAOでフィールドのデータ型を変...
-
.net 複数の主キーを設定する方法
-
Access2007でアプリケーション...
-
SQLを発行とは?クエリの作成と...
-
DataGridViewで変更した値を反...
-
VBとアクセスでSQL文に変...
-
SQL文で在庫推移を得る。
-
DataGridの中身をDataSetにテー...
-
DataGridViewに複数テーブルの...
-
「テーブルに主キーがありませ...
-
Excel複数シートをaccessへ一括...
-
オートナンバー型を変換したい
-
DataSetの複数テーブルをひとつ...
-
AccessVBAでのExcelメモリ解放
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
『列名 '担当者CD' があいま...
-
VBとアクセスでSQL文に変...
-
SQLを発行とは?クエリの作成と...
-
ExcelVBAからAccessMDB内のテー...
-
[C#] DataGridViewでコンボボッ...
-
エクセルのテーブルを解除する...
-
ACCESS2010 実行時エラー 2766
-
CSVファイルのエクスポートでソ...
-
他のMDBのテーブルに追加したい
-
AccessからExcelへエクスポート...
-
Accessで別mdbのテーブルをコピー
-
手動または分散トランザクショ...
-
★クリスタルレポートの元になる...
-
COBOLのINVALID KEYが理解でき...
-
Accessで宛名ラベルに同一宛先...
-
DataGridViewに複数テーブルの...
-
.net 複数の主キーを設定する方法
-
Excel複数シートをaccessへ一括...
-
アクセステーブル、リンクとロ...
-
VB.NETでのAccessテーブルリンク
おすすめ情報