Получите доступ к отчету, чтобы оставить поля без данных без пробелов - PullRequest
0 голосов
/ 23 октября 2018

У меня есть 20 «Числовых» полей.Они вводят 1, если положительный, 0, если отрицательный, и оставляют пустым (ноль), если они недействительны для этой конкретной записи.Я пытаюсь создать отчет, который будет возвращать каждое поле в отдельной строке с указанием «Отрицательный оранжевый» или «Позитивный оранжевый» или полностью исключать Orange из отчета (и продолжать работу с оставшимися 19 полями в зависимости от того, что является каждым вводом) без пробелов между строками, если конкретное поле фактически пустое (пустое). Это пример того, что мне нужно в одном столбце подробного раздела моего отчета:

Negative        CBC  
Negative        Vitamin D  
Negative        Vitamin E  
Negative        Vitamin A  
Positive        Vitamin B-12  

Существует 20 возможныхвещества, которые потенциально могут быть проверены. Не каждая запись тестирует для каждого вещества. Я хотел бы, чтобы в отчете было показано только то, что было проверено, не оставляя пробелов в окончательном отчете.

1 Ответ

0 голосов
/ 23 октября 2018

Вы не предоставили пример необработанных данных и фактических названий, поэтому подставьте их в зависимости от ситуации.

SELECT ID, Field1 AS Data, "Test1" AS TestName FROM tablename
UNION SELECT ID, Field2, "Test2" FROM tablename
. . .
UNION SELECT ID, Field20, "Test20" FROM tablename;

Включите столько полей, сколько хотите.

Построенное поле Data может быть вычислением в каждой строке SELECT для преобразования числа в текст.Поскольку вы, похоже, не используете поле Да / Нет:

IIf([Field1]=0, "Negative", IIf([Field1]=1, "Positive", Null)) + " Orange"

Или в текстовом поле отчета, используя запрос UNION в качестве RecordSource:

IIf([Data]=0, "Negative", IIf([Data]=1, "Positive", Null)) & " Orange"

Используйте запрос UNION в качестве источника записей для отчета и примените фильтр для удаления пустых записей.

SELECT * FROM UnionQuery WHERE NOT Data IS NULL;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...