使いやすいように設計された Microsoft リレーショナル データベース管理システムのファミリ。
ずっち様
わざわざお試しいただいての情報提供、大変ありがとうございます。
ご提案の方法、当方でも確認してみます。
もし、その他、情報お持ちの方いらっしゃいましたら
ご提供いただけますと幸いです。
それではよろしくお願い申し上げます。
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
Access2016を用いて、対象テーブルのデータをExcelに出力するプログラムを作成しています。
AccessVBAにて、ファイル出力メソッド(DoCmd.OutputTo)を用いて
特定クエリを「Microsoft Excel 5.0/95ブック(*.xls)」形式でファイル出力させた際に、
Access側のフィールドの書式が「通貨」となっているフィールドに対して、
Excel上のセル表示形式が「!#,##0;-!#,##0」となり、
Excel上での表示が「#,12345」のような形式になってしまいます。
3ケタ区切りの数値「12,345」となることを想定していたのですが
何か不足している設定等ありましたらご教授いただけないでしょうか?
なお、Excelに出力した後、セル表示形式を「#,##0;-#,##0」に変更すると
3ケタ区切りの数値「12,345」と表示されました。
それでは、どうぞよろしくお願い申し上げます。
使いやすいように設計された Microsoft リレーショナル データベース管理システムのファミリ。
ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。
ずっち様
わざわざお試しいただいての情報提供、大変ありがとうございます。
ご提案の方法、当方でも確認してみます。
もし、その他、情報お持ちの方いらっしゃいましたら
ご提供いただけますと幸いです。
それではよろしくお願い申し上げます。
こんばんは、ずっちです。
Excelは詳しくないですが・・・
DoCmd.OutputTo acOutputTable, "T1", acFormatXLS, "C:\test\test.xls"
こんな感じで実行してみると、たしかにおっしゃるような出力がされました。
AccessとExcelの通貨の書式に互換がないって事なのかな。
https://support.microsoft.com/ja-jp/kb/883199
回避策ですが、TransferSpreadsheet を使ってみてはいかがでしょう。
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel7, "T1", "C:\test\test2.xls", True
上記のように書いてやると同じファイル形式で出力ができます。
以下のように出力されます。
(すうちは数値型、つうかは通貨型のフィールドです)
左の結果はOutputTo、右はTransferSpreadsheetです。