
Access VBA について質問があります。
Docmd.TransferText acExportDelim
にてCSVを吐き出したところ、文字列中に空白文字が表示されてしまい
大変困っております。この空白文字列を出さない方法等はあるのでしょうか?
以下に例を記載いたしますのでアドバイスお願いいたします。
例)
Accessリンクテーブル Aテーブル
(列名) :(データ)
A(Text 3byte): "11"
B(int 5byte) : 9999
C(Text 15byte):"9,hoge_hoge"
※"_"←半角文字です。
↓
(Docmd.TransferText acExportDelim でCSV出力)
↓
(CSVの内容)"11_",9999_,"9,hoge_hoge____"
※"_"←半角文字です。
replaceで置き換えようとしましたが、必要な半角文字まで消えてしまいますので
とても厄介な事になっております。
初心者なので、何卒ご教授していただけますようにお願いいたします。
No.2ベストアンサー
- 回答日時:
試してはいないのですが、Aテーブルを元にクエリを作り、クエリでAの代わりに
RTRIM(A)
を表示させるようにし、このクエリをTranseferTextしてみてはどうでしょうか。
tsukasa-12r様ご回答ありがとう御座います。
早速試してみたのですが、どうも上手くいきませんでした。
(自分のやり方が悪いのかな・・・^^;)
ですので、エクスポートで出力したデータを1文字づつ解体して
Trimをかけて空白行を削除するようにやってみました。
一応強引ではありますが解決はしましたので、ありがとう御座いました。
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"
で、カンマで区切りだそうとしたら、データの途中で切れてしまい
意味のないこととなってしまっておりました。
なので、他に方法がありましたら、お知恵を拝借したいと思っております。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Visual Basic(VBA) VBA 「,」・空白・カタカナ等の複数条件のマクロ 2 2023/08/23 11:57
- Excel(エクセル) PowerQueryに詳しい方教えてください(Office365) 1 2022/07/24 21:11
- Visual Basic(VBA) Excel VBA 教えてください。 VBA初心者です。 詳しい方がいましたら教えてください。 下記 3 2023/04/25 11:22
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- JavaScript javascriptで文字分割は、 split() などメソッド不要??? 4 2023/02/06 22:50
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Excel(エクセル) エクセルの数式で教えてください。 2 2022/04/01 09:10
- その他(プログラミング・Web制作) プログラミング pythonの問題について 2 2022/04/19 00:41
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBとアクセスでSQL文に変...
-
ExcelVBAからAccessMDB内のテー...
-
手動または分散トランザクショ...
-
SQLを発行とは?クエリの作成と...
-
AccessからExcelへエクスポート...
-
CSVファイルのエクスポートでソ...
-
★クリスタルレポートの元になる...
-
[C#] DataGridViewでコンボボッ...
-
DataGridの中身をDataSetにテー...
-
Access2003VBA リンクテーブル...
-
他のMDBのテーブルに追加したい
-
ワークテーブルの作成について
-
ACCESS2010 実行時エラー 2766
-
エクセルのテーブルを解除する...
-
『列名 '担当者CD' があいま...
-
DataGridViewに複数テーブルの...
-
AccessVBAコミットとロールバッ...
-
任意の周波数の正弦波(サイン...
-
CSS表記で文字が重なる(更新で...
-
ACCESSのテーブル名をリストに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
『列名 '担当者CD' があいま...
-
SQLを発行とは?クエリの作成と...
-
手動または分散トランザクショ...
-
VBとアクセスでSQL文に変...
-
AccessからExcelへエクスポート...
-
Accessで別mdbのテーブルをコピー
-
エクセルのテーブルを解除する...
-
CSVファイルのエクスポートでソ...
-
COBOLのINVALID KEYが理解でき...
-
ExcelVBAからAccessMDB内のテー...
-
ACCESS2010 実行時エラー 2766
-
.net 複数の主キーを設定する方法
-
ExcelからAccessのテーブルに書...
-
アクセステーブル、リンクとロ...
-
Access2007でアプリケーション...
-
他のMDBのテーブルに追加したい
-
DAOの作成単位について
-
Excel複数シートをaccessへ一括...
-
[C#] DataGridViewでコンボボッ...
-
リストボックスに複数列表示し...
おすすめ情報