Функция OnlyDigits в критериях

-4

В моей базе данных есть поле номера задания, которое состоит из года + месяц/серийный номер + тип. Может быть несколько заданий с одним и тем же номером задания:

201812/6Door
201812/6Stair
201812/6Wardrobe

Когда пользователь хочет изменить дату любой/всех этих записей, я хочу, чтобы все задания 201812/6 отображались в форме.

Я успешно использовал приведенную ниже функцию OnlyDigits для извлечения только чисел из текстового поля: OnlyDigits (JobNumber) = 2018126. Но я не могу понять, как отфильтровать форму, чтобы показать все задания, содержащие 2018126.

Я пытался использовать этот запрос, но получаю сообщение об ошибке, говорящее, что выражение напечатано неправильно или слишком сложно.

SELECT onlydigits(jobnumber) AS JobNumberDigits, tbldelivery.DelDateDoors, tbldelivery.Lag, tbldelivery.ProductionDate, tbldelivery.OrderNumber, tbldelivery.JobNumber
FROM tbldelivery
WHERE (((onlydigits(jobnumber))=OnlyDigits([Forms]![tblDelivery]![JobNumber])));

Я также попытался использовать выражение where в Docmd.OpenForm, но это тоже не сработало. Кто-нибудь может подсказать, как я использую эту функцию для фильтрации?

спросил(а) 2021-01-25T22:37:07+03:00 5 месяцев назад
1
Решение
77

Попробуйте указать параметр, чтобы освободить Access от угадывания:

PARAMETERS 
[Forms]![tblDelivery]![JobNumber] Text;
SELECT
OnlyDigits(JobNumber) AS JobNumberDigits,
tbldelivery.DelDateDoors,
tbldelivery.Lag,
tbldelivery.ProductionDate,
tbldelivery.OrderNumber,
tbldelivery.JobNumber
FROM
tbldelivery
WHERE
OnlyDigits(JobNumber)=OnlyDigits([Forms]![tblDelivery]![JobNumber]);

ответил(а) 2021-01-25T22:37:07+03:00 5 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема