MS Access (сопоставление полей из 2-ух таблицы)
Есть 3 таблицы:
Measles_vaccine (с 3 полями) (Таблица хранит в себе статические данные и является справочником) (ИД, серийный номер вакцины, дата срок годности вакцины)
id measles_sn_vaccine measles_expire_date
Сертефикаты (с кучей полей, вот ключевых из них)
id ID_пациента Vкори V_measles_sn_vaccine V_measles_dose_vaccine reVкори reV_measles_sn_vaccine reV_measles_dose_vaccine Врач
Пациенты (с кучей полей, вот ключевые из них)
ID_пациента Фамилия Имя Отчество Дата Рождения
поля V_measles_sn_vaccine | reV_measles_sn_vaccine
из таблицы Serteficate заполняются через форму, данные в берутся из таблицы Measles_vaccine поля measles_sn_vaccine.
Так выглядит запрос отчета, при его запуске, мы вводим № карты пациента, и формируется отчет с его данными, включая данные из поля сертефикат.
SELECT Сертификаты.Код,
Сертификаты.ID_пациента,
[Фамилия] & " " & [Имя] & " " & [Отчество] AS fio,
Сертификаты.Врач,
Пациенты.ДатаРождения,
Сертификаты.Vкори,
Сертификаты.V_measles_dose_vaccine,
Сертификаты.V_measles_SN_vaccine,
Сертификаты.reVкори,
Сертификаты.reV_measles_dose_vaccine,
Сертификаты.reV_measles_SN_vaccine,
Measles_vaccine.measles_expire_date
FROM ( Пациенты
INNER JOIN Сертификаты ON Пациенты.ID_пациента = Сертификаты.[ID_пациента]
)
INNER JOIN Measles_vaccine ON Сертификаты.V_measles_SN_vaccine = Measles_vaccine.measles_SN_vaccine
WHERE (((Сертификаты.ID_пациента)=[Укажите № Карты]));
Все формируется отлично, но осталась последняя задача, которую я ума не приложу как можно решить:
Мне нужно чтобы в отчете напротив значений поля V_measles_sn_vaccine
и reV_measles_sn_vaccine
, проставлялся срок годности из поля: measles_expire_date
, т.е. простыми словами. Нужно чтобы в отчет-справке происходило сравнения значений полей из таблицы Сертификаты
со справочником таблицы Measles_vaccine
и по результатам успешного совпадения бралось значение из поля measles_expire_date
и выводилось в форме.
Честно говоря, я вообще не представляю как это делать. Простым решением было бы создать дополнительных 2 поля в таблице Сертификаты, и дублировать значение поля measles_expire_date
на стадии заполнения в форме, но дублировать одинаковые поля как-то некорректно, тем более дальше таких значений может быть больше, и таблицы превратится в кучу дублирующей информации.