次の方法で共有

追加クエリ実行時のエラー

Anonymous
2013-09-12T16:35:55+00:00

下記の構成で、DB_2の中に追加クエリを作成し、txtファイルのデータをDB_1のテーブルAにすべて追加しようとすると、エラーが発生します。まったく同じクエリでも、DB_1内で実行すれば問題ありません。

なぜ、同じデータを同じテーブルに追加するクエリなのに、追加先がローカルテーブルだと実行できて、両方リンクテーブルだとNGなのでしょうか?

DB_1のテーブルAのフィールド名やデータ型などはチェック済みです。

また、両方がリンクテーブルでも実行できることは、違うデータとDBを用意して検証しました。

発生しているエラーの原因と、対処方法について教えてください。

よろしくお願いします。

構成

txtファイル (参照先のデータ DB_2にリンクテーブルで接続)

DB_1 テーブルA (追加先のテーブル DB_2にリンクテーブルで接続)

DB_2 クエリとリンクテーブルで構成しているDB

発生するエラー

「入力した値がこのテーブルまたはリストに対して定義されている設定に違反するため(たとえば、値が最小値未満か、最大値より大きい)、変更を記録できません。エラーを修正してやり直してください。」

すでに検証した内容

  1. DB_1内でテーブルAへtxtファイルの追加クエリを実行→OKすべてのレコードが追加できる。
  2. DB_2にリンクしたtxtファイルとDB_1で追加クエリを実行(内容は1.と同じ) → NGエラー発生
  3. サイズが同程度の別ファイルで、2.と同じ環境を用意して追加クエリを実行 → OK
Microsoft 365 と Office | アクセス | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2013-09-22T07:17:20+00:00

楠部さん

返信が遅くなり失礼しました。

質問した後に、リンクを組む際に、テキスト区切り記号を設定していないことが原因だと判明しました。

""でくくられるフィールドがあるにもかかわらず、それを設定していなかったため、クエリ実行時にフィールドの位置がずれてしまい、エラーが発生していました。

ローカルテーブルどうしで実行した際にエラーが生じなかった理由はわかりませんが、特段の設定しなくても、正しいフィールドの設定でデータがインポートされています。。。

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

この回答は役に立ちましたか?

0 件のコメント コメントはありません

2 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2013-09-26T01:51:09+00:00

    tofu461 さん、こんにちは。

    CSV ファイルをリンクテーブルに取り込む際の、テキスト区切り記号の設定に要因があったんですね。

    確認結果の書き込み、ありがとうございます。

    (ローカルテーブルとリンクテーブルで違う動作になったのは不思議なのですが。。。)

    他の方々にも参考になると思い、コメントに 「回答としてマーク」 を付けました。

    また何かありましたら、ぜひ当フォーラムをご利用ください。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  2. Anonymous
    2013-09-13T07:53:44+00:00

    tofu461 さん、こんにちは。

    マイクロソフト コミュニティ への投稿ありがとうございます。

    Access 2010 で追加クエリを実行したときのエラーについての質問ですね。

    ファイルと各データベースのテーブル、クエリの構成は以下の通りでいいですか?

    ■ DB_1

    ・ [A] テーブル (ローカルテーブル) → データを追加する前は空の状態

    ■ DB_2

    ・ [txt データ] テーブル (txt ファイルにリンクしているテーブル)

    ・ [A] テーブル (DB_1 の [A] テーブルにリンクしているテーブル)

    ・ 追加クエリの内容 → [txt データ] テーブル の全レコードを [A] テーブルに追加

    ■ txt ファイル (DB_2 でリンクテーブルとして読み込んでいる)

    手元の PC (Windows 7 + Access 2010) で、csv ファイル (テキスト ファイル) と acdb ファイルを 2 つ作成して確認した感じだと、追加クエリを正常に実行することができました。

    ※ [A] テーブル (DB_1) と [txt データ] テーブル (DB_2) のフィールド数、フィールド名、データ型は、すべて同じにしました

    追加先のテーブル (DB_1 のテーブル A) を再作成して、DB_2 側でリンクし直すとどうなるかを試してみてはどうでしょうか。

    もし、こちらで試した構成が tofu461 さんの構成と異なっている場合には、その内容を書き込んでください。

    その際には、Access データベースのファイル形式もわかるとよいと思います。

    返信、お待ちしています。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません