• 締切済み

アクセスで、毎回インポートエラーが出るのはなぜ?

アクセス2003に、エクセルデータをインポートする時に、 「テーブル$_インポート エラー」というテーブルが作成されてしまいます。 取込み自体は出来ているようなのですが、どのテーブルにインポートしても、毎回同じ内容の、このエラーテーブルが別に出来てしまいます。 何か致命的な問題があるのでしょうか? 困っています。どうか宜しくおねがいします! 「テーブル$_インポート エラー」のデータシートビュー内容↓       エラー            フィールド      行 データ型の変換エラー        F4      11 データ型の変換エラー       F9       11 データ型の変換エラー       F4       22 データ型の変換エラー       F9       22 データ型の変換エラー       F14       22 データ型の変換エラー       F4       24 データ型の変換エラー       F9       24

みんなの回答

  • kurodai2
  • ベストアンサー率38% (77/202)
回答No.6

解決よかったですね。 補足拝見しましたが・・・ 他のエクセルファイルをインポートしても 内容が同じエラーが出ると言うことでしたよね? エラーに違いがあったり、また同現象のようなファイルでない形の ファイル、1シート目に実データがる様なファイルの場合は違うのであれば、うなずけるのですが・・ 解決された現象と、どうやっても同じエラーが出る現象は ちょっと不可解なままです。 しかも、今まで出来ていたものが 急になったのですよね。 う~ん、謎ですね。

himigon17
質問者

お礼

お返事遅れましてすみません。ご回答ありがとうございます。 エラーが出るようになった直前に、そのエクセルファイルの1シート目の列や行を増やしたり、 記号文字を追加したりなど、そのシートで作業をしていました。 なので、作業前までは、アクセス側が、その1シート目をデータのシートであると認識していたのだと思います。 作業後は、文字や記号や列を追加したりした為、シートに規則性がなくなり、データと認識されなくなったのかなと思います。 不可解な感じは消えましたでしょうか? 謎めかせてしまいすみません。

  • kurodai2
  • ベストアンサー率38% (77/202)
回答No.5

>本来、作成したテーブルだけが、保存先のテーブルの選択肢として、表示されますよね? はい、確かめました おかしいです。 >どうしたら直るのでしょうか?(涙) わかりません。 再現も出来ない状態なので・・ 私なら、取りあえず Office自体をアンインストールして 再インストールを試みますが、そうも行かないですよね? お力になれなくて、申し訳ないです。

himigon17
質問者

お礼

再度ありがとうございます。 そうですね、Access2003をアンインストールして、再インストールするのが良さそうな気がしてきました。 もともと、セキュリティ等がしっかりしていないので、不安定なソフトってことも原因なのかもしれませんね。 会社なので簡単に出来ないのが面倒なんですが・・・

himigon17
質問者

補足

皆様へ 解決しました! エクセルファイルの、一番左の一番目のシートに「テーブル」というシート名のシートがあり、このシートには、データではなく、メモとして、自由気ままに文字等のられつをしていたのです。 2番目以降のシートは、取り込み用のデータ(列ごとに規則性のあるデータが入っている)なのです。 インポート時に、1番目の「テーブル」シートをまず初めにアクセスが見に行くらしく、その時点で、取込めないデータとして、エラー認識されていたようです。 その後で、取込み用のデータ(2番目以降のシート)を選択しても、初めにエラー認識された1番目のシートのエラーが、出るそうです。 こんな理由だったなんて、びっくりです!! 説明が分かりにくくて申し訳ありません。 ありがとうございました。

  • kurodai2
  • ベストアンサー率38% (77/202)
回答No.4

>ただ、どのエクセルシートを取込んでも、同じエラー内容 >が出るのです。 これは、おかしいですね。 なんとも不思議ですね・・ 内容が違えば、例えエラーが事実であっても、内容は異なるはずですから。 エラーが出たらエラーテーブル自体を削除しても また、同じ内容で作成されるんですよね? 例えば、EXCEL側ではC列しか使っていないと思っていても、セルに対してスペースとかが入っていて インポートする際に、C列を超えて認識してしまうことはありますが どのシートでもと言うのは、ありえないですね。 本来の目的のA、B、CのみのEXCELを開いて、ごみが無いかD列以降を 広範囲に、列削除して試してみましょうか? 少なくとも、その状態でF14とかのエラーが再度作成されるとなると、 EXCELのデータでエラーが出ているのではない確証にはなります。

himigon17
質問者

お礼

ご回答ありがとうございます。 そうなんです!おかしいんです! エラーテーブルを何回削除しても、取込み時には同じエラーテーブルが生まれるのです。 試してみました。エクセルシートのD列~Z列までを削除して、取込みましたが、 アクセス側では同じエラー内容の「テーブル$_インポート エラー」が出ました。 おかしいと思うのが、空のデータベースを作成して、テーブル(仮に「テーブル01」とします)も新たに作り直してインポートした時に、 「次のテーブルに保存する」の選択肢に、「テーブル01」と「テーブルインポートエラー」があるのです。 本来、作成したテーブルだけが、保存先のテーブルの選択肢として、表示されますよね? ということは、「テーブルインポートエラー」と言うテーブルが、 アクセスの内部的に、存在していて、ウィルスのように、 インポートの度に、生まれてきている、としか、考えられないのです。 どうしたら直るのでしょうか?(涙)

  • gatt_mk
  • ベストアンサー率29% (356/1220)
回答No.3

Excelからデータを取込む際に、新規にテーブルを作成してインポートをしようとすると、第1行目のデータに沿ったデータ形式でインポートします。例えば第1行目に数値が入っているとその列は数値データとしてテーブルを作成しインポートします。 従って2行目以降にテキストデータが入力されていると、そのデータをインポートできずデータ型の変換エラーが出ることになります。 先にExcelのデータ内容と一致するインポート先のテーブルを作成し、そのデータ形式を決定してからインポートした方が確実です。

himigon17
質問者

お礼

ご回答ありがとうございます。 インポート先のテーブルを作成してから、そのテーブルに取込んでいるので、gatt_mkさんのご指摘の問題は、多分大丈夫だと思うのですが・・ ご指摘内容は勉強になりました!

  • kurodai2
  • ベストアンサー率38% (77/202)
回答No.2

例えば、11行目の F4に該当するセルの中身は アクセス側のテーブルの型に適さない内容ではないですか エラーが出ているのに、内容はちゃんと入ってるのでしょうか? エラー箇所を確認してみてください。 データの型変換ですから、access側のテーブルを すべてテキスト型で作成したら、出なくなるのが確認できるとは思います。 EXCEL側で、セルの内容が整理しきれないのであれば ACCESS側は、中間テーブル的なテーブルに、一旦全項目テキストで受けて、改めて本テーブルへ格納する手順を考えられたほうがいいかもしれないですね。

himigon17
質問者

お礼

ご回答ありがとうございます。 11行めの F4に該当するセルは、空欄です。 というか、データはA,B,C列までしか入っていないのです。 ただ、どのエクセルシートを取込んでも、同じエラー内容 が出るのです。 例えば、N列まであるエクセルシートでも、B列までのシートでも、どんなシートを取込んでも、同じエラーテーブルが出るのです。 何か変ですよね? 昨日の途中までは、同じエクセルデータの取り込みでも、エラーテーブルは作成されなかったんですよ~。

  • evil_lk
  • ベストアンサー率20% (3/15)
回答No.1

インポート先のテーブルとエラーしているフィールド(列)の データ型が違うのではないですか? 数値型の列に12Aという値を入れたとか。 見た目上、数値だけでも元のデータにスペースが入っていたとか。 エラーしたフィールドをよく調査してみてください。

himigon17
質問者

お礼

早速のご回答ありがとうございます。 エクセルの書式は「標準」で、アクセスのテーブルは数値型やテキスト型を設定しています。 エクセルの数値の列には、1行目のタイトル以外は数値しか入っていません。 実は、今までは同様のインポートをしても、エラーテーブルは出来なかったので、突然、この現象が起きるようになったのです。 ためしに、空のデータベースから再度テーブルを作成して、インポートしてみたのですが、 その、インポート時の「ワークシートインポートウィザード」の「次のテーブルに保存する」というインポート先の選択肢に、 既に「テーブルインポートエラー」というテーブルが出来上がっているのです・・・。 まだインポートしていないのに・・・。 なぜ?

関連するQ&A

  • マイクロソフトアクセスのインポート時にインポートエラーが出る

    エクセルで作成したデータをアクセスでインポートしたら、  (1)普通のテーブル  (2)『 [テーブル名]$_インポート エラー 』というテーブル の二つ出てきました。 (2)のエラーテーブルって、どんなときに現れるのか、お分かりになりますか? エラーテーブルを見ると、3つフィールドがあり、左から「エラー」「フィールド」「行」となっていました。 とりあえずざっと(1)のテーブルと、エクセルの元データを見たのですが、問題なさそうな気もするのですが... あとで致命的な問題になると困るので、もしお分かりの方がいらっしゃったら、ご教示願います。

  • Accessのインポートについて

    マイクロソフトアクセス2010でテーブルを作り、そこにCSVファイルを読みこませたいです。 テーブルのフィールドはテキスト型です。 例えば、Table_TESTというテーブルにF1というテキスト型のフィールドを設けます。 Access標準のTEXTインポート機能を使い、インポートを行おうとします。 CSVファイルのデータは、「12345678912345678ABCD」といったように数値とアルファベットです。 なぜか、このようなデータをインポートする時にデータ変換エラーと表示されて、正しくインポートできません。 これは、なぜこのような現象が起こるのでしょうか?

  • Accessインポートエラー

    エクセル2000のデーターをAccess2000にインポートした時にフィールドはテキスト型なのにデーター型変換エラーが出る時があります。出ない様にするのには、どうしたら良いか教えてください。

  • アクセス インポートファイルの再インポートを防ぐ

    アクセス2003を使用しています。 アクセスにて、エクセルファイルをインポートしています。 既にインポートしたエクセルファイルを再度インポートしないように、再取込みを行おうとした場合、 「既に取り込んでいるファイルです」とエラーメッセージを表示させて、取込み防止を行おうとしています。 クエリの重複チェックを設定していたのですが、行き詰ってしまいました。 アクセスのテーブル先頭フィールドの日付データ(yyyy/mm/dd)でチェックしたいと思っています。 教えてください。よろしくおねがいいたします。

  • Access から Excelのシートをインポート時エラー

    Access の既存のテーブルにExcelのスプレッドシートからデータをインポートするため次のコマンドを実行すると、 F1フィールドがない旨のエラーメッセージが表示されます。 DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "アクセスのテーブル名", "インポート元のエクセルファイル名.xls", False ここで、F1フィールドとは何でしょうか。 Excelのシートの1行目にAccessのテーブルの項目名と同名の項目名を挿入しておけば、上のコマンドの最後の引数をTrueにすればインポートは成功します。項目名のないスプレッドシートはインポートできないのでしょうか。 ご存知の方、教えてください。

  • アクセスのインポートの仕方

    Windows2000/ACCESS2000を使用してます。 いつもお世話になってます。 ロータス1.2.3でエクセルに落としたデーターをアクセスにインポートさせたいのですが、うまく出来ません。 この度、アクセスで新しくデーターベースを作って、今までのデーターの移行をしたいのですが、エクセルのデーターをアクセスへインポートするやり方だと先頭行をフィールド名にしないと保存先のテーブルを選べませんでした。 先頭行のフィールド名を使わずに、データーだけを新しく作ったアクセスのテーブルに入れるにはどうしたら良いのでしょうか? 宜しくお願いします。

  • エクセルからアクセスにインポートすると、エラーが出てしまいます。原因を教えていただけませんか。

    エクセルからアクセスへインポートしようとしたところ次のエラーメッセージが出てしまいました。 「貼り付け先の’T履歴’テーブルには’F29’フィールドがありません。」 エクセルのセル29列には、データが全くありません。28列までデータが入っています。 アクセスには29列ありますが、1行目はオートナンバーの履歴IDです。 アクセス側はマクロを使用しています。 エクセル側も入力シートからインポートシートに整理するのにマクロを使っています。 今までは問題なく出来ていたのですが、「取引先ID」という項目を双方に増やしてからエラーが出るようになりました。 こういう現象が起きる原因はどのようなことが考えられますか? F29っなんのことを指しているのでしょうか?

  • Access97 Excelファイルのインポート

    はじめまして、こんにちわ。 早速ですが、質問させてください。 Access97で既存のテーブルにExcelファイルをインポートした際にエラーがでてインポートできないファイルがありました。その原因を調査している次第です。 Excelファイルは様々な担当者に作成いただく予定ですので、エラーの再現性を確認して、原因となる作業を予め禁止しておきたいと考えております。 (1)ファイル→外部データ取込→インポートからインポートするExcelファイルを選択し、インポートボタンを押したところ、『ファイル○○にアクセスできません。このファイルが存在するか、またファイルの形式が正しいか確認してください』と言うエラーが出ます。 実際にそのファイルは開けますし、同じように作成したファイルはインポートできるものもあります。 中身を全てコピーし、新規作成したExcelファイルに貼り付けて名前をつけて保存したものをインポートすると、問題なくインポートできました。 どういった作業をすると、上記エラーが出るようなファイルになってしまうのでしょうか。 (2)ファイル→外部データ取込→インポートからインポートするExcelを選択し、インポートボタンを押した後、ワークシートインポートウィザードで『先頭行をフィールド名として使う』をチェックすると、『先頭行にAccessフィールド名に使用できない文字が含まれています。』というエラーが出ます。 調べてみると、空白の列がフィールドとしてインポートされるようになっています。Excel上では何も表示されていない列で、その列を削除すればエラーがなくなります。 どういった作業をすると、空白の列や行がインポートされるようになってしまうのでしょうか。 お手数ですがよろしくお願い致します。

  • Access2003 インポートについて質問がございます。

    Access2003 インポートについて質問がございます。  すでに完成しているテーブルがあり、  そこに毎月のExcelデータを都度テーブルに蓄積していきたいのですが、  Accessを開かずしてテーブルにインポートすることは可能でしょうか。  すでにテーブルのフィールド順に、レコード単位でExcelに並べられている条件です。   (Excelの行コピー⇒ Accessテーブルの最終行に貼付でインポートできる状態) 初心者なもので大変恐縮ですが、ご教示をお願いいたします。  

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

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

専門家に質問してみよう