• 締切済み

テーブルAにテーブルBのレコードをすべて追加

いつもお世話になっております。 現在、テーブルAとテーブルB(エクセルのリンクテーブル)の2つのテーブルがあり、テーブルBのレコードをすべてテーブルAに追加するという追加クエリを作りました。 が、「0件が追加されました。」とメッセージが出てしまい、実際に追加することができません。 フィールド:国番号 テーブル:テーブルB 並べ替え: レコードの追加:テーブルA.国 抽出条件: 条件は以上のようなものを、各カラムについて書きました。 テーブルAとテーブルBが逆かな?と思い逆にもしてみましたが、同じ結果となりました。 そもそも追加クエリというのは、このような目的で使うものではないのでしょうか? どなたかご教授願います。 以上、よろしくお願いいたします。

みんなの回答

  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.1

> フィールド:国番号 > テーブル:テーブルB > レコードの追加:テーブルA.国 とのことなので、恐らくExcelの「国」列には、Access(ですよね?)の「国番号」に 相当する数字が入っているものと推測しますが、これがAccess上で文字列と して認識されている、ということはないでしょうか? (テーブルAの「国」のデータ型が数値型だったとして、ですが) 試しに、  A)テーブルAの「国」のデータ型を文字列型にしてみる  B)追加クエリの設定を、   フィールド:「国番号:CLng([テーブルB].[国番号])」   テーブル:(空欄にします)   にしてみる   (CLng関数は、数値に変換可能な文字列を長整数型の数値に変換する関数) のどちらかを行ってみて、それでデータが追加されるようなら、上記の通りの 原因と確定できるのではないかと思います。 なお、当然ながら、お薦めなのは、データベースの構造変更を伴わないで済む 「B」の方法です。