- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Access VBA について質問があります。
)
Access VBAでCSV出力時に空白文字が表示される問題の解決方法
このQ&Aのポイント
- Access VBAにおいて、Docmd.TransferText acExportDelimを使用してCSVを出力する際、文字列中に空白文字が表示される問題が発生しています。この問題の解決方法についてアドバイスをいただきたいです。
- 例えば、AccessのリンクテーブルであるAテーブルの列には、テキスト型のデータや整数型のデータが含まれています。このテーブルをCSVに出力すると、文字列中の空白文字が問題となってしまいます。どのようにしてこの空白文字を排除するか、初心者の私にわかりやすく教えていただけますか?
- replace関数を使用して空白文字を別の文字列に置き換える方法を試しましたが、必要な半角文字まで消えてしまうという厄介な問題が発生しています。Access VBAの経験が浅いため、確実に空白文字を排除する方法を学びたいです。ご教授いただけますと幸いです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
試してはいないのですが、Aテーブルを元にクエリを作り、クエリでAの代わりに RTRIM(A) を表示させるようにし、このクエリをTranseferTextしてみてはどうでしょうか。
その他の回答 (1)
- hisappy
- ベストアンサー率46% (184/392)
回答No.1
確か Access の仕様で格納されるデータの後ろは スペースで埋められるというのがあったと思います。 なので抽出したデータを出力する前に RTrim かけてみてはどうでしょう。 といっても、私の方が「 Docmd.TransferText acExportDelim 」を知らないので RTrim かませるのかどうか分かりませんが。
質問者
お礼
hisappyさん回答ありがとう御座います。 私も、RTrimで空白を削除しようとして、CSVに出力した 文字列に対して行ったのですが以下のようになってしまい、目的とは違った形になってしまっておりました "11_",9999_,"9,hoge_hoge____" ↓ RTrimをかける ↓ "11_",9999_,"9,hoge_hoge" (最後だけ消える) といったような形になってしまい、目標としている 全ての空白を消すとは、程遠くなってしまっておりました。 目標としている値 → "11",9999,"9,hoge_hoge" で、カンマで区切りだそうとしたら、データの途中で切れてしまい 意味のないこととなってしまっておりました。 なので、他に方法がありましたら、お知恵を拝借したいと思っております。
お礼
tsukasa-12r様ご回答ありがとう御座います。 早速試してみたのですが、どうも上手くいきませんでした。 (自分のやり方が悪いのかな・・・^^;) ですので、エクスポートで出力したデータを1文字づつ解体して Trimをかけて空白行を削除するようにやってみました。 一応強引ではありますが解決はしましたので、ありがとう御座いました。