2012-09-05 4 views
2

Я пытаюсь запустить qry ниже, используя базу данных доступа, и получаю сообщение об ошибке Нет значения для заданного параметра?Не задано значение для требуемого параметра

SELECT  ID, DateColumn, Less90, Between90180, Between180365, GreaterThan365, SUM(Less90) + SUM(Between90180) + SUM(Between180365) + SUM(GreaterThan365) 
        AS Total, SUM(Between180365)/Total AS Expr1, 
         (SELECT  SUM(Between180365)/(SUM(Less90) + SUM(Between90180) + SUM(Between180365) + SUM(GreaterThan365)) 
          FROM   tblHandpieceFaliuresAge T2 
          WHERE  T2.ID <= tblHandpieceFaliuresAge.ID) AS RunningSum 
FROM   tblHandpieceFaliuresAge 
GROUP BY ID, DateColumn, Less90, Between90180, Between180365, GreaterThan365 

ответ

5

Вы набрали один из своих столбцов неправильно, и Access считает, что вы пытаетесь передать параметр.

Повторно введите имя поля и убедитесь, что все введены правильно.

Я считаю, что проблема может быть в следующем:

SUM(Less90) + SUM(Between90180) + SUM(Between180365) + SUM(GreaterThan365) 
       AS Total 

А потом обратиться к нему позже, как Total здесь:

SUM(Between180365)/Total 

доступа не может взять псевдоним и повторно использовать его в запрос, вам нужно следующее:

SUM(Between180365)/
    (SUM(Less90) + SUM(Between90180) + SUM(Between180365) + SUM(GreaterThan365)) 

Также убедитесь, что вы обрабатываете знаменатель, чтобы не разделить b y ноль.

+0

Я также считаю, что это проблема. – Fionnuala

+0

это был спасибо – user1342164

3

Обычная причина этого в том, что у вас ошибочно написано одно из имен полей, и, таким образом, Access считает, что это параметр (который не указан).

Есть два способа исправить это:

  • вручную проверить имя Иви поле, чтобы убедиться, что оно пишется правильно или
  • начала удаления поля из запроса, пока проблема не исчезнет. Последним удаленным полем является преступник.
+0

Спасибо что это было – user1342164

Смежные вопросы