Предполагая, что записи в выпадающем списке взяты из таблицы или запроса, вы можете просто исключить значения, уже выбранные ранее, с помощью оператора "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