#ms-access
#ms-access
Вопрос:
Я не ИТ-специалист, я любитель, пытающийся создать базу данных access для моей больничной лаборатории. База данных лабораторных тестов, которую я пытаюсь создать, содержит такие поля, как микробиология, серология, паразит. Поле с именем «паразит» — это многозначное поле, которое может иметь более одного значения, потому что у человека может быть (заражено) несколько паразитов одновременно. Если микробиологический и / или серологический тест выполнен, а parasite не выполняется для данного пациента, я хочу, чтобы поле parasites было «NA», чтобы избежать null. для этого я установил значение по умолчанию в свойстве таблицы «NA». Но даже когда я ввожу значение в поле parasite, выбор NA присутствует, поэтому я хочу выражение, которое исключает NA при вводе значения в поле parasite и сохраняет NA, когда значение не вводится. Спасибо
Комментарии:
1. Я настоятельно рекомендую НЕ использовать многозначное поле. Новичку это может показаться подходящим, но в будущем это создаст больше проблем, чем того стоит. Вместо этого используйте дочернюю таблицу с подчиненной формой. На эту тему было написано достаточно, поэтому я не буду здесь повторяться. Вы можете легко использовать его.
Ответ №1:
Способ, которым вы указываете значение по умолчанию, правильный, но решение станет сложным для ваших целей. Указав значение NA
по умолчанию в многозначном поле, этот параметр уже выбран. Вам нужно будет вручную отменить выбор этой опции.
Я бы посоветовал разрешить значение null и использовать Nz
функцию для исправления ваших требований к отображению данных.
Итак, если у вас есть запрос или отчет, отображающий введенные данные, вы можете использовать: В отчете или элементе управления формой:
= Nz([Parasite].[Value], "N/A")
В запросе:
ParasiteFormatted: Nz([Parasite].[Value], "N/A")
Nz
Функция заменит нулевые значения значением, указанным во втором параметре функции, в данном случае N/A
. И используйте фактическое значение поля, если оно не равно null.
Смотрите эти две ссылки для получения дополнительной информации:
Комментарии:
1. Я попытался использовать выражение в запросе, но получил сообщение об ошибке. Многозначное поле «[parasite]» недопустимо в выражении ‘Nz([parasite], «NA»). Какие еще варианты у меня есть?
2. Я обновил ответ. Вам нужно добавить
.Value
к имени поля для многозначного поля в запросе like[Parasite].[Value]
вместо just[Parasite]