Это в MS ACCESS, я хочу, чтобы пользователь ввел параметр и возвращал значения, основываясь на оставшихся 6 символах ввода пользователя. Мне не следует использовать функцию LEFT в предложении where, так как она недовольна для обработки причин загрузки, которые мне недоступны. Я также не могу использовать LIKE, потому что пользователь может вводить любые символы в параметр. Код:
SELECT Table1.[Customer Name], Table1.[Customer Code], Table1.[Part Number], Table1.Description, Table1.Vehicle,
IIF ([Enter Part Number] = Table1.[Part Number], "YES, Exact Match", IIF (LEFT([Enter Part Number],6) = LEFT(Table1.[Part Number],6), "Possible Match - Base 6", "NONE")) AS Interchangeability
FROM Table1
WHERE [Customer Name] LIKE "*" & [Enter Customer Name] & "*"
AND [Part Number] LIKE [Enter Part Number] & "*" ;
Проблема заключается в следующем: если пользователь вводит полный номер детали в качестве параметра, запрос возвращает только этот полный номер детали.Я хочу вернуть все номера деталей, которые имеют номер детали Base-6 ... так, чтобы первые шесть символов были одинаковыми.например, предложение where, которое я хочу использовать:
WHERE [Customer Name] LIKE "*" & [Enter Customer Name] & "*"
AND LEFT([Part Number],6) = LEFT([Enter Part Number],6);
Я мог бы предложить пользователю ввести только 6 символов, но нам также необходим полный номер детали для точного соответствия.Я мог бы попросить их ввести основание 6 и полный номер детали, но это дополнительная работа и не масштабируемая.Пожалуйста, дайте мне знать, если есть другой способ сделать это или я должен использовать нахмурившуюся ЛЕВУЮ функцию в предложении where.