Ich möchte separate Abfragen kombinieren, die zur Benutzereingabe in einer einzigen Abfrage aufgefordert werden.SQL WHERE in IIF mit Benutzereingabe
Q1 Fordert Benutzer 9-stellige ITEM (PN) ein:
SELECT
STUFF,
MORE_STUFF
FROM dbo_X
WHERE (RIGHT(dbo_X.ITEM, 9)=[PN:])
ORDER BY dbo_X.COMPONENT
Q2 Fordert Benutzer einen Teil von ItemDesc (Beschreibung) eingeben:
SELECT
STUFF,
MORE_STUFF
FROM dbo_X
WHERE dbo_x.ItemDesc LIKE '*'&[Description:]&'*'
ORDER BY dbo_X.COMPONENT
Mein Denken ist IIf zu verwenden Führen Sie eine einzelne WHERE-Anweisung basierend auf Benutzereingabe aus:
Derzeit nicht funktioniert und nicht s Wenn ich Probleme mit der Syntax habe oder versuche, IIf/If unsachgemäß zu verwenden.
dass versucht, aber es fordert nach wie vor für alle drei Eingänge. Möchte nur für 1 von Desc oder PN auf der Grundlage der ersten Eingabe "D" oder "P" fragen. (Hinweis: Entfernen Sie das zweite Komma nach [PN]) – cixelsyd
Unabhängig von der Logik muss die Access-Engine zum Ausführen der Abfrage die Werte aller benannten Parameter kennen, daher alle drei Eingabeaufforderungen. – Parfait
@cixelsyd. . . Parfait ist richtig. MS Access fordert während der Kompilierungsphase der Abfrage die Werte auf, nicht die Ausführungsphase. –