• ベストアンサー

テーブルへのデータ投入について。

ABCテーブルにAAからAZまでのフィールドがあります。 ここに、XYZテーブルのデータを入れたいのですが、 XYZテーブルには、AA・AE・AG・AH・AMの5つのフィールドしかありません。 この場合、 insert into ABCテーブル (AA,AE,AG,AH,AM) select XYZテーブル.AA,XYZテーブル.AE,XYZテーブル.AG, XYZテーブル.AH,XYZテーブル.AM from XYZテーブル; としたら、エラーがおきますか?

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

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1415)
回答No.2

使っているDBはAccessですか? 「パラメータが少なすぎます。1を指定してください。」 このメッセージはパラメータクエリにパラメータを与えないで実行すると、表示されます。 予約語、組み込み関数、管理下にあるテーブル名、フィールド名以外のシンボルは 全てパラメータとみなされます。大抵の場合はSQL文の誤りで、存在しない フィールドを記述したりすると、この状況になります。もう一度、SQL文を点検してみて下さい。

n_c63amg
質問者

お礼

有り難う御座います。 SQL文に間違いがありました。 訂正したらうまく出来るようになりました。

その他の回答 (2)

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.3

列AA~AZということは、列ASが存在する。 列名としてのASなのか、エイリアス指定のための as なのか、混乱が生じているのでは?

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

登場しない列(例:AB等)に NOT NULL 属性などがの制約が無ければ大丈夫かな。

n_c63amg
質問者

補足

早速のご回答有り難う御座います。 現在、「パラメータが少なすぎます。1を指定してください。」 というエラーになるので、 VBAコード上ではなく、クエリの作成画面に SQLを入力し、作成しようとするとパラメータ入力の画面が 表示されます。ここで条件指定している値を入力すると、 追加しようとしてくれるのですが。 元データの中に抽出条件に一致するものがないと、 「パラメータが少なすぎます。1を指定してください。」のエラーが でる原因になりますか?

関連するQ&A