我試圖在Access 2010上運行以下SQL代碼,但它在查詢表達式中返回語法錯誤。任何想法可能會導致它?SQL查詢表達式中的錯誤
在此先感謝。
DELETE FROM Trn_done
WHERE (Trn_done.training =
SELECT Training
FROM Trainings
WHERE (Trainings.Area = '" & Area & "'))
我試圖在Access 2010上運行以下SQL代碼,但它在查詢表達式中返回語法錯誤。任何想法可能會導致它?SQL查詢表達式中的錯誤
在此先感謝。
DELETE FROM Trn_done
WHERE (Trn_done.training =
SELECT Training
FROM Trainings
WHERE (Trainings.Area = '" & Area & "'))
您不應該等於選擇語句,以免選擇多行導致您的代碼中斷。試試這個:
DELETE td
from Trn_done td
inner join Trainings t
on td.training = t.training
WHERE t.Area = '" & Area & "'
提到你確定了'SELECT'返回一個唯一的行? – eternay
請使用參數化查詢,並停止連接「區域」在那裏......這不是你最好的做法。 – ErikE