Comment realiser une recherche avec TadoTable ou relation un a plusieurs en adoq

samadblue Messages postés 4 Date d'inscription samedi 14 juin 2003 Statut Membre Dernière intervention 23 février 2009 - 23 févr. 2009 à 21:57
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 - 24 févr. 2009 à 11:41
javascript:Insert_Emoticon('/imgs2/smile.gif');Bonsoir tlm !
Aidez Moi svp :

Voila le topo:

Mon Projet :
Base de données ACCESS 2000
Table : Patient
Champs : Code(index+clé primaire)unique /
Nom(index) / Prénom / etc …

Table : Consultation
Champs : Code (index) / DateConsu /
Motif / etc …

* 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');







Hi !

2 réponses

cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
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)

cantador
0
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
24 févr. 2009 à 11:41
WALL OF TEXT !
illisible désolé.
0
Rejoignez-nous