2016-11-08 18 views
0

あるテーブルのすべてのレコードの数を別のテーブルに書き込む必要があります。私はINSET INTOステートメントを使用していますが、それはかなり簡単です。 Accessは文法ミスをしていると返します。質問はここにあります:レコード数を別のテーブルに挿入

INSERT INTO tblA (Field1) 
    VALUES (SELECT COUNT(tblB.ID) FROM tblB); 

ここで問題は何ですか?アクセス文書には、VALUESの引数としてクエリを与えることが許されています。それはAccessが好きではない集約ですか?

答えて

6

使用INSERT INTO...SELECT

INSERT INTO tblA (Field1) 
SELECT COUNT(tblB.ID) FROM tblB 
3

ティムが推奨するように私はinsert . . . selectでそれを行うだろう。しかし、私はあなたの構文が間違っていることを説明したい。 insert . . . valuesため

構文は次のとおりです。

insert into tblA(field1) 
    values (. . .); 

は括弧に注意してください。さらに、サブクエリには常にという独自のの括弧が必要です。したがって、バージョンを機能させるには、余分な括弧が必要です。

INSERT INTO tblA (Field1) 
    VALUES ((SELECT COUNT(tblB.ID) FROM tblB)); 
+0

括弧を追加するだけでエラーは発生します。これはおそらくアクセスの制限です。エラーを指摘してくれてありがとう。 – ASignor

関連する問題