* Relation Un a plusieurs sous access :
Code(de la table patient) au Code (de la table Consultation)
Sous Delphi :
AdoConnection1 : relié a la base de données protégé par mot de passe.
A ce stade je veux realiser un formulaire pour la premiere table Patient et DbGrid pour la table Consultation.
1er Choix : je choisi TAdotable car c facile.
AdoTable1 : relié à la table Patient
AdoTable2 : relié à la table Consultation :
A l’aide du « Concepteur de liaison de champs » MasterFields : Code(de la table Patient) et
MasterSource : Datasource1 (de AdoTable1).vue que je connais pas tres bien le Sql c plus facile avec Tadotable,
Mais probleme : je trouve pas comment appliquer une recherche avec Tadotable ?? ni est ce que Tadotable est suffisant pour realiser des requetes??
2eme Choix :Je choisi AdoQuery car la fonction de la recherche existe et marche sauf probleme, je sais pas comment relié les deux table (un a plusieurs) en SQL ?? ni comment faire le tri, nila recherche, ni la requete !!
AdoQuery1 : pointer vers table Patient
AdoQuery2 : pointer vers table Consultation
biensure y'aura des DataSource sous chaque Tado..
============================================
AIDEZ MOI SVP .......... je pense ke c clair, que dois je choisir et avec un exemple de code svp.
============================================
Merci d'avance.javascript:Insert_Emoticon('/imgs2/smile_blackeye.gif');
cs_cantador
Messages postés4720Date d'inscriptiondimanche 26 février 2006StatutModérateurDernière intervention31 juillet 202114 24 févr. 2009 à 09:53
bonjour,
c'est simple, tu as deux tables en relation 1-N.
Tu as choisis des tables access.
(note que tu pourrais tout faire sous ce logiciel puisque c'est un SGBD..)
Mais tu veux développer sous Delphi en te servant des composants ADO.
Donc, la relation évoquée plus haut n'a pas besoin d'être réalisée dans access.
La relation entre les composants ADO (maître et fils) est utile si tu as besoin
de faire apparaître dynamiquement la liaison entre les données.
C'est-à-dire faire défiler les patients et voir à côté leurs consultations.
Tu poses un DBComboBox et un DbGrid et lorsque tu choisiras un patient dans la liste, tu auras automatiquement ses consultations dans le dbgrid et uniquement celles qui le concerne.
Sinon, tu peux te contenter d'un simple SQL à stocker dans un ADOQuery
SELECT
patient.Nom, patient.Prenom, consultation.DateConsu,consultation.motif
FROM
Patient
INNER JOIN consultation ON (Patient.CODE= Consultation.CODE)
cette requête affichera toutes les données.
Affaire de choix..
nb: attention le SQL sera du SQL access, c'est-à-dire légèrement différent des autres car il n'a pas la même norme)