• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アクセステキストエクスポートについて。)

アクセステキストエクスポートについて

このQ&Aのポイント
  • アクセスでエクスポートする際にフィールド開始位置が有効ではないとなりテキストのアウト出来ない場合、DoCmd.TransferTextを使用して対応する方法があります。
  • しかし、この方法では1レコード目に余計なフィールドが付いてしまう問題があります。
  • インポートしたままの状態でエクスポートする方法を考えています。

質問者が選んだベストアンサー

  • ベストアンサー
  • minis8566
  • ベストアンサー率50% (29/58)
回答No.2

一発でやる方法はないかと思います。 CSVにして出す時点で、データとしてカンマがあるケースを想定すると、データの始まりと終わりを表現するためにダブルクォーテーションが必要になっていると思います。取り込んだ時点ではダブルクオーテーションはついていると思うので、データを使うときに関数化したReplace構文でダブルクォーテーションをはずしてはいかがでしょうか。 strBの内容からダブルクオーテーションを削除してstrAに格納するには以下のようにします。chr(34) はダブルクオーテーションのASCIIコードです。直接 ”””という表現ができないためこうします。 strA = Replace(strB, Chr(34),””) データ中にダブルクオーテーションがある場合の逃げを考えておかないとはまりそうなのであれば、カンマの位置をInstrで得てその前後の文字がダブルクオーテーションだったらReplaceするというようなことを考えないといけないかもしれませんね。

yairi1106
質問者

お礼

ありがとうございます。 色々と検証しましたが、 とりあえず Replace関数で処理したいと思います。

その他の回答 (2)

  • okgoo3
  • ベストアンサー率74% (20/27)
回答No.3

CSV 形式で出力する際に文字列型フィールドの値をダブルクォーテーションで囲まないようにする方法です。 手動でエクスポートする際のウィザードの手順中、出力定義をする箇所があります。 ここで文字列を囲む記号を 「なし」 にした定義を保存しておけば定義を再利用できます。 無論 DoCmd.TransferText からも利用可能です。 DoCmd.TransferText acExportDelim, 定義名 , "ファイル名クエリ", ・・・ 出力定義の保存方法 (Access 2013 の場合) 左側ペインで出力対象のテーブルやクエリを選択。 [外部データ] タブの [エクスポート] にある [テキスト ファイル] をクリックしてテキスト エクスポート ウィザードを起動する。 出力ファイル名の部分はとりあえずそのままにして [OK] をクリック。 ここから先のウィザード数ページで画面左下に [設定] というボタンがあるのでクリック。 [文字列の引用符] の欄を 「なし」にしたら [保存] をクリックし、適当な名前で保存する。 ウィザードはキャンセルで終了しても構わない。 ここで保存した定義名を DoCmd の中で指定してあげればよい。

yairi1106
質問者

お礼

分かりやすいご説明どうもありがとうございます。 ご指示通り 設定し、これでエクスポート設定は終了しましたのなります。 もちろん完了はできませんので キャンセルします。 定義名を DoCmd の中で指定ファイル名で エクスポートしたのですが ダブルコーテーションが付いたままです。 なにかやり方が間違っているのでしょうか。 因みにacExportDelim(区切り記号付きエクスポート)ではなくacExportFixed(固定長エクスポート)で試すと DoCmd.TransferText acExportFixed, , "ファイル名クエリ", "C:\Documents and Settings\Administrator\デスクトップ" & "\" & "ファイル名.csv", True End Sub エラー2511 このアクションまたはメソッドを実行するには Specification Name/定義名 引数が必要ですとなり 検証中です。

  • minis8566
  • ベストアンサー率50% (29/58)
回答No.1

最後のTrueがあるからでは? http://www.geocities.jp/cbc_vbnet/kisuhen/docmd.html#transfertext 的外れだったらごめんなさい。

yairi1106
質問者

お礼

助かりました。 対応出来ました。 ちなみに質問外になり恐縮ですが ""を付加しないように出来ますでしょうか。 例 現在→"あああ","あああ","あああ" 希望→あああ,あああ,あああ

関連するQ&A