2013-08-03 3 views
0

Я обнаружил ошибку «Количество значений запросов и полей назначения не совпадают» в MS доступа к базе данныхВыпуск на SQL Insert Заявление

Вот мои запросы:

Я назвал этот QryMetrics

SELECT A, B, C, D, E, F 
FROM (SELECT count(ID) as A FROM RelevantResults WHERE Field1 Is Not Null and Field1 <> Chr(13) & Chr(10)) AS Q1, 
(SELECT count(ID) as B FROM RelevantResults WHERE Field2 Is Not Null) AS Q2, 
(SELECT COUNT(ID) as C FROM RelevantResults WHERE Field3 Like '*.jpg' AND Field1 Is Not Null) AS Q3, 
(SELECT COUNT(ID) as D FROM RelevantResults WHERE Field3 Like '*.jpg' OR Field1 Is Not Null) AS Q4, 
(SELECT COUNT(ID) as E FROM RelevantResults WHERE Field3 Like '*.jpg' OR Field1 Is Not Null OR Field2 Is Not Null) AS Q5, 
(SELECT COUNT(ID) as F FROM RelevantResults WHERE Field3 Like '*.jpg') AS Q6; 

Вставка запросы:

StrSQL = "INSERT INTO metrics (Filename, Field1, Field2, Field3, Field4, Field5, Field6) 
Select '" & strFile & "', QryMetrics.* from QryMetrics;" 

Я выполнение запроса вставки с помощью DoCmd. RunSQL в VB.

DoCmd.RunSQL StrSQL 

Когда я пытаюсь выполнить запрос в базу данных только для 6 полей: я обнаружил ошибку: Вставка в заявлении содержит неизвестное имя поля: «A»

INSERT INTO metrics (Field1, Field2, Field3, Field4, Field5, Field6) 
select * from qryMetrics 

Любые мысли по этому поводу? Благодаря список

+1

Выглядит отлично. То, что меня смущает, это часть '' '& strFile &' ''. Разве это не должно быть '' '' & strFile & "'" 'вместо этого? –

+0

Он отлично работает в моем VB. Я передаю переменную. – user2450064

ответ

-2
INSERT INTO metrics (Filenae, Field1, Field2, Field3, Field4, Field5, Field6) 
Select '" & strFile & "',  -- 1 column 
     QryMetrics.*   -- + 6 from QryMetrix 
from QryMetrics;    -- = 7 in total 

Колонка в вкладыше имеет 6 столбцов (field1, field2, ... field6),
но селекты returs 7 столбцов.

+1

Нет, у него есть 7, включая имя файла + 6 полей – user2450064

0

Это фиксированная моя проблема:

StrSQL = "INSERT INTO metrics (Filename, Field1, Field2, Field3, Field4, Field5, Field6) 
Select '" & strFile & "', A, B, C, D, E, F from QryMetrics;" 
Смежные вопросы