我有以下SQL語句:與Access查詢SQL IIF語句或
SELECT * FROM BOM INNER JOIN Parts ON BOM.PartID = Parts.PartID
WHERE (((BOM.PUMP_CODE) Like (IIf([Forms]![frmSelector]![tbMotor]>0 And
[Forms]![frmSelector]![tbShaft]>0,"MOTOR" Or "SHAFT",IIf([Forms]![frmSelector]![tbMotor]>0,"MOTOR","SHAFT")))))
ORDER BY BOM.BOM_INDEX;
在第一個IIF語句,我不能讓查詢返回任何記錄。當兩個引用對象都> 0時,我希望它在PUMP_CODE字段中返回帶有「MOTOR」或「SHAFT」的所有記錄。即使兩個對象都大於0,它仍然不會返回任何記錄。然而,後者的國際投資框架聲明工作得很好。這個查詢有問題嗎?
在第一個IIF語句你真正表達的項目,「MOTOR」或者「SHAFT」無效。您只需要第一個IIF的真實部分,因爲這是第二個IIF表達式的一部分。 –