скрыть значения в поле со списком, если оно уже выбрано в предыдущей записи в форме континентов - PullRequest
0 голосов
/ 10 ноября 2019

Извините, Андре, ваше право. Я отредактировал свой вопрос.

У меня есть подчиненная форма с именем frmIntContPhasesubform, в которой есть поле с именем Regimen, а источником строки является таблица lookupRegimen, которая содержит имена около 15 таблеток, асами имена являются первичными ключами. Каждый пациент получает комбинацию из пяти таблеток, и когда пациенту прописывают таблетку, я не хочу, чтобы это имя отображалось в следующем поле комбинированного выбора для этого пациента в этой подчиненной форме. Я приложил изображение формы. Как вы думаете, будет хорошим решением для этого? enter image description here

введите описание изображения здесь

1 Ответ

1 голос
/ 11 ноября 2019

Предполагая, что записи в выпадающем списке взяты из таблицы или запроса, вы можете просто исключить значения, уже выбранные ранее, с помощью оператора "WHERE x NOT IN ()". Также предполагается, что предписанные таблетки должны быть ограничены для каждой даты.

tbl_Patient_Medication (это будет таблица, связывающая 1 пациента с нужной таблеткой с полями Patient_ID_FK и Pill_Name_FK)
tbl_Pills (будет содержать информацию для таблеток с полем Pill_Name)

Назовите текстовые поля для пациента и даты как tbxPatient и tbxDate, а затем комбинированный запрос RowSource может выглядеть следующим образом:

SELECT Pill_Name
FROM tbl_Pills
WHERE Pill_Name Not In 
        (SELECT Pill_Name_FK FROM tbl_Patient_Medication 
        WHERE Patient_ID=[tbxPatient] AND pDate=[tbxDate]);

Для правильной работы добавьте следующее событие GotFocus в комбинированный список (с именем cboPill):

Private Sub cboPill_GotFocus()
Me.cboPill.Requery
Me.Recalc
End Sub
...