次の方法で共有

テーブルをExcel出力したとき、書式を「通貨」にしたフィールドが、Excelで「#,12345」と表示される

Anonymous
2016-06-16T07:35:01+00:00

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 365 と Office | アクセス | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

2 件の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2016-06-16T21:54:54+00:00

    ずっち様

    わざわざお試しいただいての情報提供、大変ありがとうございます。

    ご提案の方法、当方でも確認してみます。

    もし、その他、情報お持ちの方いらっしゃいましたら

    ご提供いただけますと幸いです。

    それではよろしくお願い申し上げます。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2016-06-16T09:10:51+00:00

    こんばんは、ずっちです。

    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です。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません