こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

【Access】Excelインポート時にエラー

お世話になります。

OS:XP Pro
Access2003

Accessのフォーム上よりExcelをインポートするように作りました。
インポートする際にローカルにある空っぽのテーブル(データ型のみ指定有り)
をコピーし、そこにExcelのデータをインポートするようにしてます。

今まで特に問題はないので、プログラム的には問題なさそうです。

で、今日Excelをインポートした際に「キー違反のため、0件のレコードが失われ、0件のレコードが削除されました」というエラーが発生しました。

フォームからではなくファイル⇒外部データの取り込み より当該Excelをインポートしても特にエラーにはならずインポートできました(A)。

エラー時に「はい」を選択すると、とりあえずインポートはされるのですが(B)、AとBを比較するとBの方が2レコード少ないことがわかりました。
その2レコードのIDを調べ、ExcelからそのID2行を削除しインポートしたところエラー発生せず。

とりあえず何かしら問題のある行は分かったのですが。。
 ・その行のID以外のセルを全てまっさらにして、インポートしてもエラー。
 ・この行の書式がおかしいと思い、別の行の書式をコピーしてはりつけ後インポートしてもエラー。
 ・この行のリスト外のセルに余計なゴミがあるかもと思い、リスト外の列を全て削除するもエラー。
 ・いったんこの2行をコピーして別シートに貼り付け。その後、リストから2行削除し、2行挿入して
  コピーしておいた2行を値で貼り付け。で、エラー。
 ・IDが重複していないことを確認。

今までエラーが出たとしても上記対処でエラーは解消されていたのですが、今回ばかりは何が原因かわかりません。
どのようなことが考えられますでしょうか。ご教授の程よろしくお願い致します。

投稿日時 - 2013-07-03 20:41:37

QNo.8161026

すぐに回答ほしいです

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

ID以外に「重複不可のインデックス」を定義してあるとか。

ACCESS側の「ローカルにある空っぽのテーブル」を確認してみてください。

投稿日時 - 2013-07-03 21:12:10

お礼

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

空っぽのテーブルをデザインを確認したところ、「重複不可のインデックス」はなかったのですが、「数量」フィールドの値要求の箇所が「はい」となっておりました。

Excelの問題のあった行の「数量」が空白となっており、数値を入れてインポートしたところうまくいきました。

ありがとうございました。

投稿日時 - 2013-07-04 10:10:49

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問