• ベストアンサー

Access2002 テキストインポート

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

  • kz2960
  • お礼率38% (182/476)

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

  • ベストアンサー
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.1

Microsoft Jet4.0データベースエンジンServicePack6で修正されたそうです。レジストリも変更しないとダメとなっています。詳しくは下記を参照してください。 もしくは固定長TEXTをそのままインポートしMidで切り出せば大丈夫だと思いますが。

参考URL:
http://support.microsoft.com/default.aspx?scid=kb;ja;413965
kz2960
質問者

お礼

アドバイスありがとうございます。 SP6とレジストリ変更で問題が解決出来ました。 しかし、MSの障害とは思いませんでした。 本当にありがとうございます。

関連するQ&A

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

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

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

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

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

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

  • ACCESSで、テキストファイルをインポートしたい

    宜しくお願い致します。 ACCESSで、テキストファイルをインポートしてテーブルを作成したいのですが、ファイル→インポートを選択して、ウィザードを開く方法は分かるのですが、マクロを作成してインポートは出来ないでしょうか? excel、CSVファイルでしたら、「ワークシート変換」、「テキスト変換」のマクロでインポートしたりエクスポートしたり出来ると思うのですが・・・、 (1)テキストファイルをインポートしたり、エクスポートしたりする場合、どのようなマクロがあるのでしょうか。 (ためしに、「出力」マクロで、あるテーブルをCSVファイルにエクスポートしてみたのですが、カンマ区切りにできず、excelのような枠付きのテキストファイルになってしまいました。) (2)容量が大きいデータの場合は、テキストファイルでエクスポートしたほうが良い・・・という認識に間違いはありませんでしょうか。 質問が一つ増えてしまいましたが、宜しくお願い致します。

  • ACCESS2000 固定長テキストのインポート

    ACCESS2000で固定長テキストデータをINPORTしたいのですが、うまくいきません。 テキストインポートウィザードの[設定]で[定義]ボタンを押して、呼び出してきた定義(フィールドの情報)を追加修正したのち、INPORTを行おうとしています。 ところが、追加修正した定義(フィールドの情報)を保存できず、困っています。 いざ[保存]を押すと、ボタンを押した時点で入力した情報がすべてなくなってしまう(入力前の状態に戻ってしまう)のです。 だから、インポート/エクスポート定義を保存したいのですが、保存できない状況に陥っています。 フィールドの数が非常に多いデータのため、途中で保存し再呼び出しという作業がどうしても必要になります。 回避の方法をご存知でしたら教えてください。 例えば、インポート定義そのものを利用しなくても、固定長テキストデータをACCESSへINPORTする方法があれば、それでも結構です。 よろしくお願い致します。 なお、当方はACCESS初心者なので、VBAなど難しいことはできればしたくありません。

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

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

  • Access2003でインポートをマクロで簡単に自動化したいです。

    Access2003でインポートをマクロで簡単に自動化したいです。 今はAccess2003でインポートをマクロにしたい時は、インポートする画面でインポート定義を作っておいて、マクロのテキスト変換でマクロにしています。 これだと、テキスト変換の画面でインポート元のフルパスを指定して、インポート先のテーブルのファイル名を指定しなくてはいけません。 インポート定義を作ってるのだから、定義と同じインポート元、インポート先で簡単にマクロでインポートを自動化する方法はありませんか? マクロにしたいインポートとエクスポートが結構な数あるので、マクロを作る時にいちいちフルパスとファイル名をコピーしてくるのが大変です。 簡単にインポートをマクロにする方法がありましたら、教えてください。

  • テキストデータをSQLServerに取込むには

    列区切なし、改行コードなしの固定長データをSQLにコンバートしたいのですが、上手く行かず困っています。 (ファイル形式:テキストファイルバイナリ固定長) ・試した方法  (1)DTSインポート/エクスポート(←もう全然上手く行きませんでした・・・)  (2)BULK INSERT       (←上手く取り出せている自身がない・・・) またコンバート後、SUBSTRINGを使ってデータを取り出し、フィールドにセットしていこうと考えているのですが、これも上手く行きません。 半角・全角文字やスペースが含まれていると、取り出せないのでしょうか?

  • MYSQLで空白をインポートしたい

    こんにちは。MYSQL5.5を使用しています。固定長のテキストファイルを各フィールドにインポートしたいと思っています。 例えば、10文字目から20文字目は空白(半角スペース)だとします。フィールドXに半角スペース10個をインポートしたいのですが、挿入後の結果を見るとNULLになっています。 これを、半角スペース10個挿入するにはMYSQL側でどのような設定を行う必要があるでしょうか?

    • ベストアンサー
    • MySQL
  • ACCESS2000でExcelから特定フィールドをインポートしたい

    ACCESS2000でExcelから特定のフィールドをインポートしたいのですが、 うまくいきません。 Excelはフィールド数が254フィールドもあり、 テーブルにインポートしたいフィールド数は30フィールドです。 Excelでは特定フィールドをインポートすることができないようなので、 一時テーブルに全てのフィールドをインポート後 必要なフィールドだけ取り出そうとやってみたのですが、 以下のコードを実行すると、13のフィールドが「解析不能なフィールド」と インポートエラーが出てしまいます。 DoCmd.TransferSpreadsheet acImport, 8, "TEMPテーブル", "c:\data.xls" また、Excelファイルをcsv形式に変換して、インポート定義を作る方法も やってみたのですが、インポート定義作成時に 「フィールド'ID'はインポートまたはエクスポートしようとしている テーブルまたクエリに存在しません」 というエラーが出てしまいます。 どうしたらインポートできるでしょうか。よろしくお願いします。

専門家に質問してみよう