2017-02-22 33 views
-1

У меня есть следующий код в MS Access:Недопустимый оператор SQL; ожидается "DELETE"

Set rs = con.Execute 

(SELECT PO_Number, PR_Number, PO_Creator_Number, PO_Creator_Name, PR_Creator_Number, PR_Creator_Name, 
    (CASE WHEN PO_Creator_Region <> "'IL'" 
    THEN 
    ((DATEDIFF(dd, PR_Creation_Date, PR_Approval_Date)+1) 
    -(DATEDIFF(wk, PR_Creation_Date, PR_Approval_Date)*2) 
    -(CASE WHEN DATENAME(dw, PR_Creation_Date) = "'Sunday'" THEN 1 ELSE 0 END) 
    -(CASE WHEN DATENAME(dw, PR_Approval_Date) = "'Saturday'" THEN 1 ELSE 0 END)), 
        ELSE 
        ((DATEDIFF(dd, PR_Creation_Date, PR_Approval_Date)+1) 
        -(DATEDIFF(wk, PR_Creation_Date, PR_Approval_Date)*2) 
        -(CASE WHEN DATENAME(dw, PR_Creation_Date) = "'Friday'" THEN 1 ELSE 0 END) 
        -(CASE WHEN DATENAME(dw, PR_Approval_Date) = "'Saturday'" THEN 1 ELSE 0 END)) 
        END) AS PR_Cycle_Time 

FROM PO_PR_INFO_TBL 

WHERE PR_Creation_Date ='" & txtnumb & "'", 
     PR_Approval_Date = '" & txtnumb & "'", 
     PO_Creation_Date ='" & txtnumb & "'" 

GROUP BY PO_Number, PR_Number, PO_Creator_Number, PO_Creator_Name, PR_Creator_Number, PR_Creator_Name) 

Затем MS Access дает мне сообщение об ошибке, говорящее

Invalid заявление SQL; ожидается "УДАЛИТЬ", "INSERT", "ПРОЦЕДУРА", "SELECT", или "UPDATE"

Может кто-нибудь мне помочь в решении этой проблемы?

+0

удалите строку с помощью SET –

+1

Вы объединяете VBA и SQL. Что это за код? Я думаю, вы поместили его в окно запроса, ожидая только SQL, поскольку VBA будет кричать красными бликами на скомпилированные проблемы синтаксиса, поскольку код не показывает разрывов строк или цитат вокруг литералов. – Parfait

+0

Спасибо, что посмотрели мой вопрос! Да, я поместил его в SQL-окно и надеялся получить результаты SQL только потому, что у меня нет опыта в VBA ... – Ying

ответ

0

Если вам повезет сменить строку set... на SELECT * FROM( и добавлено ) в самом конце, вы можете сделать трюк.

Но это только для быстрого и грязного решения, поскольку запрос кажется не совсем корректным.

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