ich die folgenden SQL-Anweisung habe:Access Query SQL Anweisung von IIF mit OR
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;
In der ersten Anweisung von IIF, kann ich die Abfrage keine Datensätze zurück. Ich möchte, dass alle Datensätze mit "MOTOR" oder "SHAFT" im Feld PUMP_CODE zurückgegeben werden, wenn beide referenzierten Objekte> 0 sind. Obwohl beide Objekte größer als 0 sind, werden immer noch keine Datensätze zurückgegeben. Die letzte IIF-Anweisung funktioniert jedoch gut. Gibt es ein Problem mit dieser Abfrage?
In der ersten Anweisung von IIF Ihren wahren Ausdruck, „MOTOR“ Or "SHAFT" ist nicht gültig. Sie brauchen hier nur den wahren Teil des ursprünglichen IIF, da das Falsche Teil des zweiten IIF-Ausdrucks ist. –