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も見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
Accessデータをテキスト変換する時、小数点以下の桁数が切れてしまう
Excel(エクセル)
-
アクセスのテーブルからエクスポートした際のケタ落ち
Access(アクセス)
-
Microsoft Access エクスポート時の「通貨型」数値の小数点表示について
Access(アクセス)
-
-
4
Accessで、フォームからフォームへ値を引き継ぐやり方
Access(アクセス)
-
5
Access ¥マークを表示しない
Excel(エクセル)
-
6
アクセスでの演算で少数点第1位まで表示するには。
Access(アクセス)
-
7
ACCESSでデータ読み取り専用を解除する方法
その他(データベース)
-
8
accessのフィールドに10桁の数字は入らない??
Access(アクセス)
-
9
指数表示しない方法
その他(データベース)
-
10
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
11
ACCSESS2013VBA フォームのレコードソースを変更する
その他(データベース)
-
12
accessでクエリをExcelにエクスポートする時にファイル名に日付を追加したい
Access(アクセス)
-
13
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
14
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
15
Accessで小数点以下を切り捨てたいんですが
その他(データベース)
-
16
アクセスクエリ(複数)→マクロ→エクセル出力(ワークシート別)
その他(パソコン・スマホ・電化製品)
-
17
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
18
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
19
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
20
Access インポート
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
WORD VBA プログラム修正をお願...
-
SQLを発行とは?クエリの作成と...
-
任意の周波数の正弦波(サイン...
-
VBとアクセスでSQL文に変...
-
Excel複数シートをaccessへ一括...
-
エクセルのテーブルを解除する...
-
★クリスタルレポートの元になる...
-
ヘッダ(*.h)に定義したテーブル...
-
ExcelVBAからAccessMDB内のテー...
-
Access SQLITEのリンクテーブ...
-
AccessからExcelへエクスポート...
-
ACCESS2010 実行時エラー 2766
-
他のMDBのテーブルに追加したい
-
VBA 変数名に変数を使用したい。
-
Excel VBA で日付を4ケタの数値...
-
クリスタルレポートで困ってい...
-
VBA フォルダ内のファイルを、...
-
AccessのDAOでフィールド名を配...
-
C#で変数名の取得
-
VBScript で ADO Streamオブジ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBとアクセスでSQL文に変...
-
Accessで別mdbのテーブルをコピー
-
他のMDBのテーブルに追加したい
-
SQLを発行とは?クエリの作成と...
-
手動または分散トランザクショ...
-
HTMLのテーブルの行数が多くな...
-
エクセルのテーブルを解除する...
-
ExcelVBAからAccessMDB内のテー...
-
Excel複数シートをaccessへ一括...
-
DataGridの中身をDataSetにテー...
-
CSVファイルのエクスポートでソ...
-
AccessからExcelへエクスポート...
-
.net 複数の主キーを設定する方法
-
『列名 '担当者CD' があいま...
-
COBOLのINVALID KEYが理解でき...
-
アクセステーブル、リンクとロ...
-
ACCESSのテーブル名をリストに...
-
MDBテーブルへの追加変更を教え...
-
【ADO】「Execute」を使うと...
-
ACCESS2010 実行時エラー 2766
おすすめ情報