No31687.頭0の数値のテキストデータがあるCSVファイルをインポートすると頭0が抜ける
タイトル | : 頭0の数値のテキストデータがあるCSVファイルをインポートすると頭0が抜ける |
記事No | : 31687 |
投稿日 | : 2007/09/11(Tue) 18:12 |
投稿者 | : 鷹友 |
OS:Windows2000 Access Version:Access2000 鷹友と言います。よろしくお願いします。 CSVファイルで頭0から始まる数値だけのテキスト項目を、テーブルのテキスト項目に インポートすると、テーブルのテキスト項目には頭の0がサプレスされて(抜けて) 入ってしまいます。 やり方は、 DoCmd.TransferText acImportDelim,,テーブル名,CSVファイル名,True で行っています。 これは裏中間でExcelが介在して、0サプレスした値をAccessに渡されるから仕方ないので しょうか? 調べたところ、これを回避するには文字列項目と定義したExcelファイルを下記のように インポートするしかないかもと思っているのですが・・・ DoCmd.TransferSpreadsheet acImportDelim,,テーブル名,Excelファイル名,True
Excelファイルにするのは手間がかかり、できたらCSVファイルでインポートしたいのですが。 いい知恵があれば教えてください。
また、ダメならExcelと別の回避策として、テキスト項目で数値だけの場合は頭の0を 禁止して運用することなども考えております。
|
タイトル | : Re: 頭0の数値のテキストデータがあるCSVファイルをインポートすると頭0が抜ける |
記事No | : 31688 |
投稿日 | : 2007/09/11(Tue) 21:42 |
投稿者 | : やまざる |
> CSVファイルで頭0から始まる数値だけのテキスト項目を、テーブルのテキスト項目に > インポートすると、テーブルのテキスト項目には頭の0がサプレスされて(抜けて) > 入ってしまいます。
> Excelファイルにするのは手間がかかり、できたらCSVファイルでインポートしたいのですが。 > いい知恵があれば教えてください。 >
桁数は決まっているのでしょうか?
決まっていれば、Access上で、Format関数を使い、削除された0 を復活できると思いますが?
|
タイトル | : Re^2: 頭0の数値のテキストデータがあるCSVファイルをインポートすると頭0が抜ける |
記事No | : 31692 |
投稿日 | : 2007/09/12(Wed) 09:59 |
投稿者 | : 鷹友 |
> > CSVファイルで頭0から始まる数値だけのテキスト項目を、テーブルのテキスト項目に > > インポートすると、テーブルのテキスト項目には頭の0がサプレスされて(抜けて) > > 入ってしまいます。 > > > Excelファイルにするのは手間がかかり、できたらCSVファイルでインポートしたいのですが。 > > いい知恵があれば教えてください。 > > > > 桁数は決まっているのでしょうか? > > 決まっていれば、Access上で、Format関数を使い、削除された0 を復活できると思いますが?
いえ、残念ですが桁数は決まっておりません。
|
タイトル | : Re: 頭0の数値のテキストデータがあるCSVファイルをインポートすると頭0が抜ける |
記事No | : 31689 |
投稿日 | : 2007/09/12(Wed) 08:46 |
投稿者 | : 門戸厄神 |
> これは裏中間でExcelが介在して、0サプレスした値をAccessに渡されるから仕方ないので > しょうか? インポート定義を作ってフィールドのデータ型をテキスト型と定義してやれば大丈夫ですよ。
それから、Excelは介在などしておりません(^^; 拡張子csvがExcelと関連付けされているのでcsvファイルのアイコンがExcelのアイコン風に 表示されているのを勘違いされているのだと思います。
|
タイトル | : Re^2: 頭0の数値のテキストデータがあるCSVファイルをインポートすると頭0が抜ける |
記事No | : 31693 |
投稿日 | : 2007/09/12(Wed) 10:17 |
投稿者 | : 鷹友 |
> > これは裏中間でExcelが介在して、0サプレスした値をAccessに渡されるから仕方ないので > > しょうか? > インポート定義を作ってフィールドのデータ型をテキスト型と定義してやれば大丈夫ですよ。
門戸厄神さん 回答ありがとうございます。 「インポート定義を作って」とありますが、 手動で<ファイル>−<外部データの取込>-<インポート> からテキスト項目のフィールド型をテキストにするという意味でしょうか。 もし、そうなら、この手動の作業をすべて自動化してワンタッチでやりたいのですが。
自動でやるやり方という意味なら、インポート定義の作り方がよくわからないので、 どこを見ればわかるか教えていただけませんか。
> > それから、Excelは介在などしておりません(^^; > 拡張子csvがExcelと関連付けされているのでcsvファイルのアイコンがExcelのアイコン風に > 表示されているのを勘違いされているのだと思います。
そうですか。了解いたしました。
|
タイトル | : Re^3: 頭0の数値のテキストデータがあるCSVファイルをインポートすると頭0が抜ける |
記事No | : 31694 |
投稿日 | : 2007/09/12(Wed) 10:44 |
投稿者 | : 鷹友 |
> 自動でやるやり方という意味なら、インポート定義の作り方がよくわからないので、 > どこを見ればわかるか教えていただけませんか。 >
鷹友です。 手動で<ファイル>−<外部データの取込>-<インポート> でインポート定義を作成したあと、[設定]でインポート定義ウインドウが 表示され、[保存]でこのインポート定義を名前を付けて保存することが できました。 で、このインポート定義をプログラムのなかで (DoCmd.TransferText) どう使えばよいのかがわかりません。 教えていただけませんか。
|
タイトル | : Re^4: 頭0の数値のテキストデータがあるCSVファイルをインポートすると頭0が抜ける |
記事No | : 31695 |
投稿日 | : 2007/09/12(Wed) 11:43 |
投稿者 | : 鷹友 |
鷹友です。
> で、このインポート定義をプログラムのなかで > (DoCmd.TransferText) > どう使えばよいのかがわかりません。
すみません。見落としておりました。 DoCmd.TransferText acImportDelim, インポート定義名, テーブル名, CSVファイル名, True でいいはずですね。
うまくいきました。 ありがとうございました。
|
このAccessフォーラム過去ログ集は、Microsoft Access Club が運営しています

|