У меня есть следующий код в 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"
Может кто-нибудь мне помочь в решении этой проблемы?
удалите строку с помощью SET –
Вы объединяете VBA и SQL. Что это за код? Я думаю, вы поместили его в окно запроса, ожидая только SQL, поскольку VBA будет кричать красными бликами на скомпилированные проблемы синтаксиса, поскольку код не показывает разрывов строк или цитат вокруг литералов. – Parfait
Спасибо, что посмотрели мой вопрос! Да, я поместил его в SQL-окно и надеялся получить результаты SQL только потому, что у меня нет опыта в VBA ... – Ying