• 締切済み

Access2000でテキストインポートする時に

毎日、他の会社から提供された全角半角混在の固定長テキストファイルを、 Access2000でデータベースにして作業を行っているのですが(OSはWindows2000)、 固定長テキストをインポートする際、ある文字を含むレコードだけが桁ずれ してしまうのです。具体的には、 「新橋1-7-1」「新橋1-7-1」 等はちゃんと読みこめるのですが 「新橋1―7―1」 の時に、「―」が一文字出現する毎に半角一文字分桁がずれて読み込んでしまいます。 どうも、テキストファイル上では「―」は全角なのですが、 インポートする時に半角文字として認識しているように思われます。 この原因と、対処法についてご教授頂きたいです。 なお、テキストファイル提供元と直接話が出来ず、作成時の環境は不明です。 ちなみに当方は、アクセスのマクロを少し使えるくらいでVBAは初心者、 VBはわからないです。

みんなの回答

回答No.2

根本的な解決ではありませんが 全角-を、半角-と半角スペースに 事前置き換えてから処理というのは だめでしようか。 1アクション増えてしまいますが。 ファイルが*.txtなら エクセルでできます。 エクセルならアクセスから 自動起動できます。 方法等は質問ください。

masuda_ld
質問者

お礼

やはりインポート前に置換するしかなさそうですね。 エクセルマクロはあまり使ったことがないのですが、書籍などを 参考にしてなんとかやってみようと思います。 皆様ありがとうございました。

  • yanmaa
  • ベストアンサー率45% (207/457)
回答No.1

もしかして 文書番号:J049168 [ACC2002] 指定した位置と異なる位置でテキストがインポートされる が原因ではないですか? MSのサポート技術情報検索 http://support.microsoft.com/default.aspx?ln=JA&pr=kbinfo& とか MS - 話し言葉によるサポート技術情報検索 http://www.microsoft.com/japan/enable/nlsearch/ で検索して見てください。 参考URLは「[ACC2002] 指定した位置と異なる位置でテキストがインポートされる」の内容です。

参考URL:
http://www.microsoft.com/japan/support/kb/articles/J049/1/68.asp

関連するQ&A

  • ACCESS97 : レコードが長いファイルのインポートについて

    ACCESS97で、文字列を文字数ではなくバイト数で扱うことは可能でしょうか。 1レコードが20,000ByteあるテキストファイルをACCESS97のテーブルに インポートしようとしています。 インポート先のテーブルのフィールドをすべて「メモ型」にしたのですが、 インポート定義を利用してインポートを行おうとすると、 「レコードが大きすぎます。」というエラーが発生します。 そこで、プログラムでファイルを1レコードずつ読み込みながらテーブルに インサートしていく方法を取ろうかと思います。 テキストファイルは半角と全角が混在しているのですが、困ったことに 全角のデータが入るべきところに半角が混ざっている可能性があります。 たとえば、全角10文字入るべき場所に半角の空白が20文字入っていると いうような状態です。 この状態で StrConv関数でUnicodeに変換してからMidB$関数で文字を抜き 出すと、フィールドがずれてきます。 1文字目から10文字分、ではなく1Byte目から10Byte、などというように文 字列を扱うことができれば、全角と半角がどのような位置で混在していても 関係なくプログラム上で扱うことができると思うのですが,方法がわかりません。 また、これ以外で長いレコードのファイルをインポートできる方法があれば 教えていただきたいと思います。 長くなってしまいましたが、ご回答をいただけますようよろしくお願いいたします。

  • Access2002 テキストインポート

    固定長テキストを「インポート/エクスポートの定義」を使用してテーブルへ読み込みをしています。 全角文字(x8140~x81FF)で"―(x815C)"等の文字が半角として認識されているのか文字数が正しくありません。 設定等でこの問題は解決可能でしょうか? 宜しくお願いします。

  • Access2000 固定長テキストと特殊文字インポート定義

    固定長形式で作成したテキストファイルを、新規作成 →テーブルのインポート → 設定 → (あらかじめ作成しておいた固定長の)定義によりインポートは成功するのですが、 必ずα(アルファ)やβ(ベータ)の文字が入っているテキスト型のデータで1バイトのズレが起こります。例えば固定幅で20を指定してもαやβの文字が入っているフィールドでは21バイトまで取り込んでしまいます。 αやβの文字が入っていなければ次のレコードからは問題なく指定どおりにインポートされています。 インポート定義の設定で、どこを訂正したらよいのか分からないため質問させていただきます。

  • ACCESS2000,2003テキストエクスポートで全角が半角になってしまう

    ACCESS2000または2003でテキスト固定長エクスポートすると"’"や"I"や"II"などの文字があると正しく変換できません。(全角が半角になってしまいます) それらの文字を正しく変換できないでしょうか? よろしくお願いいたします。

  • アクセス:エクセルからのインポートエラーについて

    よろしくお願いします。アクセス初心者です。 エクセルから名簿形式のシートをアクセスにインポートしたときの次のようなエラー対策について教えてください。 ・エクセル側で日付と文字が混在しているフィールドがいくつかあります。(例)「2005/10/10」と「入院中」 ・日付と文字が混在しているフィールドがいくつかあっても、アクセスにインポートしたら、アクセス側であるものは「日付/時刻型」、あるものは「テキスト型」に自動でなっています。 ・このとき、アクセス側で「日付/時刻型」となっているフィールドでは、エクセル側で日付がはいっているものは取り込まれ、文字が入っているものがはじかれるようです。 ・逆にアクセス側で「テキスト型」と自動でなっているフィールドの場合には、日付も文字もインポートできています。(但し、日付が文字形式となっているようです) ◆まず、なぜ、同じ日付と文字が混在しているフィールドなのに、「日付/時刻型」になったり「テキスト型」になるのでしょうか? ◆このエラー回避対策はどうすればよいでしょうか。 「テキスト型」に統一してインポートできればいいのですが・・・ 以上、よろしくお願いいたします。

  • Access97 テキストインポート

    Access97でテキストファイルのインポートができません。 現象は…  ・インポートのファイルの種類でテキストを   選択できません(ありません)  ・インストール時に   データアクセス>データベースドライバ   では、テキスト・HTMLにチェックがついており、   セットアップ済みとなっています。   削除→インストール   レジストリ削除→インストールでも、セットアップ済みとなってます。 どなたかよい方法をご存知ではないでしょうか? 環境はWin98+Office97proです。 お願いします。

  • Accessのフィールドサイズ

    Access2000を使用していますが、テーブル作成時に 「テキスト型」でフィールドサイズを「10」に設定して データを入力すると、半角でも全角でも「10桁」までの入力に なりますが、フィールドサイズは半角も全角も関係ないのでしょうか? 「テキスト型」の最大フィールドサイズは「半角255文字」と 思っていたのですが、全角でも255文字入力できました。

  • Access2000 テキストデータのインポート

    質問させていただきます。 テキストデータ(カンマ切り、項目A,項目Bともにテキスト型)をインポートしたのですが、項目Aはたとえば、1または2バイト目がスペースのデータ、スペースなしのデータなど混在しています。テキストデータの通りにインポートしたいのですが、Accessに取り込むとスペースのないデータ(すべて左詰)になってしまいます。 どうすればテキストデータ通りにインポートできるでしょうか?

  • アクセスにデータをインポートする時に困っています、

    アクセス2003にデータをインポートするとき、 テキストファイル→エクセル→アクセスで行いたいのですが、 テキストファイルがコンマやタブで区切られていない為、 インポートした時、1つのセルに全ての値が入力されてしまいます。 テキストファイルをタブやコンマ区切りにする以外に、 アクセスにうまく取り込む方法はあるでしょうか。 教えてください!!

  • アクセスでの、固定長でのテキストインポートについて(初級者です)

    テキストファイルをアクセスに固定長で2行目から取り込みたいです。 エクセルのように、行指定する項目がありません。 インポート定義を作成し、さらにモジュールにそれの2行目から。 みたいな指定が出来るのでしょうか?? どうか教えてください!

専門家に質問してみよう