Задача: Привязать оказанные услуги к платежам. Если оказанная услуга оплачена, то в поле "ПлатежID" ставится значение ID платежа.
Пример: (рис.1) - в главной таблице выбирается пациент -> в подчиненной таблице "Оказанные услуги" отображаются оказанные ему услуги, там также добавляются те услуги, которые надо оказать.
Вложение:
001.JPG [ 142.53 КБ | Просмотров: 29951 ]
(рис.2) - в подчиненной таблице "Платежи" отображаются платежи, которые произвел пациент -> в таблице, подчиненной таблице "Платежи" ("Оплаченные услуги") отображаются и добавляются оплаченные услуги, прикрепленные к этому платежу,
причем выбор их должен происходить не из всей таблицы "Оказанные услуги", а из таблицы "Оказанные услуги", но этому пациенту. После привязки оказанных услуг к платежу - они считаются оплаченными и в их поле "Платеж" появляется код платежа.
Вложение:
002.JPG [ 135.85 КБ | Просмотров: 29951 ]
Пояснения: Все оказанные услуги должны иметь поле оплаты. Если оно пустое - оплаты не было (не прикреплено ни к одному платежу). Платеж один на несколько услуг (связь один-ко-многим).
- Оказанные услуги связаны с главной таблицей Пациенты (tblSalesServicec.PatientID - tblMain.ID);
- Платежи связаны с главной таблицей Пациенты (tblPayments.PatientID - tblMain.ID);
- Платежи связаны с Оказанными услугами (tblPayments.ID - tblSalesServicec.PaymentID);
(рис.3)
Вложение:
003.JPG [ 28.07 КБ | Просмотров: 29951 ]
Проблема: не могу организовать связи с таблицами так, чтобы решить задачу, как в примере. При существующем алгоритме услуги добавляются к платежу, но в таблице Оказанные услуги появляются новые записи
PSМожет вообще я не в том направлении думаю? и мне нужны промежуточные запросы?
Спасибо!