dポイントプレゼントキャンペーン実施中!

はじめまして。
急遽VB6.0、Accessで開発を行っております。まったくの初心者です・・・。

DoCmd.TransferText でCSVファイルを一時テーブルに保存し、利用する機能を開発しているのですが、その際CSVのデータの中の電話番号(080-0000-0000というテストデータ)がyyyy/mm/dd型に変換されてしまい、困っています。

このような状況を解消するには、何か方法はありますでしょうか。
調べてみたのですが、なぜ変換されるかもいまいち分からず・・・

DoCmd.TransferTextでは無理、などお分かりでしたらご教授ください。
またCSVファイルのレコード数が多いので、一つ一つのデータを修正することは難しいかと思っております。

どうぞよろしくお願いいたします。

A 回答 (2件)

Access2010で確認しました。


番号がダブルクォートで囲まれていないと質問のようになりますね。
一度、外部データの取り込みからウィザードで進めていって
その際にデータ型を指定します。
この時にインポート定義を適当な名前で保存すれば
次回からは、DoCmd.transferText の SpecificationName で指定してあげれば
スムースにインポートできるようになります。
http://www.tsware.jp/tips/tips_528.htm

なお、OKWAVEとその提携サイトでは、個人情報のチェックを自動的に行っているようで
電話番号やメールアドレスと判断できなくもないモノが文中に含まれていると
『現在、サポートで内容を確認中です。』
となってしまいます。
とっても『賢い』(愚鈍)なのでご注意を。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

なかなか反映されなかった理由が分かり、ほっといたしました(^^;)

やはりダブルクォーテで囲まれていないとそのようになるのですね。リリース前に一度開発側でインポート定義の保存を行いたいと思います。
リンク先の説明をきちんと読み、対応したいと思います。

一度Accsessでご確認してくださり本当にありがとうございました!

お礼日時:2013/12/02 10:06

>その際CSVのデータの中の電話番号(080-0000-0000というテストデータ)がyyyy/mm/dd型に変換されてしまい、困っています。


それは、どうやって確認しましたか?
「エクセルで確認した」という落ちじゃないですか?
エクセルの親切機能です。(日付のような形式のデータは強制的に日付にされる)

メモ帳で見ても日付になっていますか?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
データはテーブルの中のデータをVBA上で確認しました。
メモ帳は日付ではなく、文字列で保存されていました。

エクセルには親切(?)機能があるのですね・・・勉強になりました!本当にありがとうございました。

お礼日時:2013/12/02 10:01

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