アプリ版:「スタンプのみでお礼する」機能のリリースについて

Access2000でCSVファイルインポートをVBAで行っています。
ところが、CSVファイル内に全角カンマ(,)がある場合、
区切り文字として認識されてしまい困っています。
区切り文字としてではなく文字として取得したいのですが可能でしょうか。

お手数ですが方法がわかる方、ご回答よろしくお願いいたします。

A 回答 (4件)

それは、無理だと思います。


CSVでなければならないのでしたら、全角カンマを他では絶対使われない文字に変換しておいて、インポートしてから元に戻すという手があります。
また、CSV上でダブルクォーテーション(")で文字列を挟んでおけば、何とかなるかもしれません。
CSVではなく、可変長のテキストとして保存することが可能でしたら、文字列区切りをカンマ以外、例えばタブにするなどで対応できます。
固定長形式の処理が可能でしたら、それも一考の価値があります。がファイルサイズがでかくなります。
ご参考になれば幸いです。
    • good
    • 0
この回答へのお礼

自己解決いたしました。
Split関数を利用して取得しました。
素早いご回答ありがとうございましたm(_ _)m

お礼日時:2006/09/28 16:38

こんにちは、


全角カンマなんですよね?
区切りは半角カンマだと思うので、アクセス側で、
混同して、区切ってしまうのでしたら、
CSVを一度テキストエディタで開いて、
全角カンマを別なものに置き換えて、保存
アクセスにインポート後に、再度置き換えては
いかがでしょうか?
面倒ですが、更新クエリー等を一度作ってしまえば
たいした手間ではないと思いますが・・・・
    • good
    • 0
この回答へのお礼

全角カンマです。
別なものに置き換えるのも考えたんですが、
Split関数を利用して取得することができました。(面倒でしたが…)
ご回答ありがとうございました。

お礼日時:2006/09/28 16:39

csvとは、Comma Separated Value の略で、カンマで値を分けるということですが、一行をただの文字列として読みた

いなら、line input などを使って一行ずつ読んでいったらいかがでしょうか?
    • good
    • 0
この回答へのお礼

16Augustさまのおっしゃるとおり、Line Inputを利用しました!
またそこからSplit関数を利用して取得することができました。ありがとうございました。

お礼日時:2006/09/28 16:41

コードを示されたが良いと思います。



aaa,AAA,BBB

を以下のコードでインポートしてみました。

Private Sub コマンド0_Click()
  DoCmd.TransferText acImportDelim, , "test", "c:\temp\test.csv"
End Sub

Access2000、2002 では、

F1   F2
aaa  AAA,BBB

とインポートされます。
    • good
    • 0
この回答へのお礼

急いでいたもので、コードを記述しておらず、申し訳ございませんでした。
自己解決いたしました。
Input関数を利用していたのですが、Line Inputに変更し、そこからSplit関数を利用して取得しました。
ご回答ありがとうございました!

なお今回につきましては、すぐにご回答くださった方にポイントを差し上げたいと思います。本当にありがとうございました。

お礼日時:2006/09/28 16:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す