質問

レポートをMS Access(2003)からExcel(97-2003)出力にエクスポートしています。

1つの列には、一部の行に対して数値である文字列があります。 「05-0880」。

MS Excelで出力ファイルを開くと、対応するセルが番号 -372424 に設定されます。

これは、Excelが「巧妙」であることによるものと思われます。 「05-0808」を決定します;ある種の時間値または日付を表し、文字列を対応する数値に変換します。

私の場合、データは製品コードを表しており、この変換は非常に望ましくありません。 レポートの基になるクエリの出力をエクスポートする(データシートをエクスポートする)場合、この変換は行われません。 (Accessが変換を防ぐ方法でExcel形式に出力できるようにする必要があることを示唆しています。)

レポートのフィールドのフォーマット属性を変更しようとしましたが、「テキスト」がありません。オプション、および「標準」空白のままにするのと同じように動作するようです。

format()関数を使用して文字列を強制的に出力する方法はありますか? もしそうなら、これはExcelがまだ賢い変換を行うかもしれないときにも役立ちますか?

基礎となるクエリを出力として使用することはオプションですが、フォーマットとグループ化が失われるため理想的ではありません。列が区切られていないため、レポートをテキスト形式にエクスポートするのは大変です。

役に立ちましたか?

解決

実際には、他の方法と似ています。 MS Accessはあまりにも愚かなため、レポートから適切にエクスポートできません。データを引用符またはアポストロフィで保護できます。ただし、ご存じのとおり、これは非常に見苦しく、後処理が必要です。

これを回避する方法は、クエリを慎重に作成し、レポートではなくクエリの結果をエクスポートすることでした。これにより、期待どおりの結果が得られます。

他のヒント

エクスポート" '05 -0880" " 05-0880"の代わりに。

他のアポストロフィではなく、一重引用符を使用してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top