Bonjour Alias_bel,
Si j'ai bien compris, tu devrais avoir, à peu de chose près, les tables suivantes (souligné=clé primaire, #=clé étrangère) :
Patient(IdPatient, Nom, ...) ;
Prestataire(IdPrestataire, Nom, ...) ;
Consultation(IdConsultation, #IdPatient, #IdPrestataire, DatePrest, ...) ;
PassifConsultation(#IdPatient, #IdPrestataire, NombreConsultation, ...).
Deux choses :
Envoyé par
Alias_bel
J'ai donc prévu dans ma table patient des champs permettant lors de l'encodage initial de mentionner les valeur "passif de ce patient avec le prestataire1", "passif de ce patient avec le prestataire2", etc.
==> improbable dans la table Patient, non ?
Envoyé par
Alias_bel
Cerise sur le gateau, cette valeur ne devra pas changer par la suite (si le patient fais l'objet d'une autre consultation le lendemain, ça ne doit pas venir impacter la valeur calculée la veille sinon fatalement, ça foire de partout).
==> il faut donc stocker le calcul à la création de la consultation. La table consultation doit donc devenir :
Consultation(IdConsultation, #IdPatient, #IdPrestataire, DatePrest, NombePrestPatientPrestataire, ...)
Ensuite :
- une requête sur Consultation, groupée par IdPatient/IdPrestataire, avec Count(*) te donne le nombre de consultation "informatisées" ;
- une requête sur PassifConsultation te donne le nombre de consultation "non-informatisées".
==> la somme des deux te donnant la valeur de NombePrestPatientPrestataire[/B].
Enfin, créer le formulaire en conséquence (je ne connais pas VBA, je ne pourrai donc t'aider dans la phase de développement pure).
Partager