IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bases de données Delphi Discussion :

Gérer une relation Maitre détail


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 285
    Points : 74
    Points
    74
    Par défaut Gérer une relation Maitre détail
    Bonjour,
    j'ai un souci avec une relation maitre/detail.

    J'ai une table Professionnels (id_pro) et une table des contacts professionnels avec id_pro comme relation avec la table professionnels.

    Pour la table contacts professionnels j'ai créé une relation avec:

    Master source: La table Professionnels
    Masterfields: id_pro de la table Professionnels
    IndexFieldname: id_pro de la des contacts professionnels.

    Cette relation fonctionne bien dans un formulaire.

    Ce que je n'arrive pas à faire c'est ensuite d'afficher, dans une autre fiche, tous les contacts quelque soit le professionnel car la relation existe toujours.

    J'ai essayé avec un ADOQuery mais la relation subsiste toujours.

    Comment je peux m'y prendre?

    D'avance merci.

    Cordialement

    Codial

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 106
    Points : 66
    Points
    66
    Par défaut
    Ta deuxieme fiche est relie au meme Datasource que la premiere fiche?

    Je n'utilise jamais directememt les TTable, p-e qu'avec une TTable la relation est effectivement gardee.

    Essaie d'utiliser un TADoQuery avec la propriete SqlString: "Select * From Professionnels" au lieu de TTable.
    C'est ce que je fais et je n'ai pas de probleme.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 285
    Points : 74
    Points
    74
    Par défaut
    Bonsoir,

    En fait, je travaille avec ADO et comme j'ai dit j'ai déja essayé avec un ADOQuery sur la table des contacts professionnels mais il resre quand même relié à la table professionnels.

    Il y a quelque chose qui m'échappe!!

    Cordialement

    Codial

  4. #4
    Membre régulier Avatar de Sabact
    Inscrit en
    Septembre 2006
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 189
    Points : 91
    Points
    91
    Par défaut
    Bonjour;
    Toi; tu utilise quelle SGBD car je pense cela à une rélation avec la base utilisé?
    Un sot ne dit pas de choses intelligentes, mais un homme intelligent dit beaucoup de bêtises.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 285
    Points : 74
    Points
    74
    Par défaut Gérer une relation Maitre détail
    Bonjour,

    oui j'avais oublié de préciser, mes données c'est une base access 2000.

    Codial

  6. #6
    Membre confirmé
    Inscrit en
    Janvier 2005
    Messages
    529
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 529
    Points : 464
    Points
    464
    Par défaut
    Salut codial,
    je m'excuse, je crois qu'il y a une mauvaise conception de votre MCD
    entre la table contactpro et professionel.
    avant tout veuillez vérifier si la table contact est remplie ou pas.
    contactprof (0,1/1,1)--->(0,n/1,n) Professionnel.
    quand vous avez créer votre BDD access comment avez vous relier les 2 tables?
    Bonne chance.
    Merci.
    Deux, n'apprendront pas; le timide et l'arrogant

  7. #7
    Membre à l'essai
    Inscrit en
    Septembre 2006
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 15
    Points : 12
    Points
    12
    Par défaut liaison Maître-Détail ...
    Bonjour.

    Essaie cette façon de faire :

    En conception, ne renseigne aucun des trois propriétés MasterSource, MasterFields et IndexFieldName.

    Lorsque tu ouvre ton formulaire dont la relation maître - détail doit être active, Ferme ta TTable de contact si elle est ouverte, renseigne les propriétés MasterSource, MasterFields et IndexFieldName et ouvre à nouveau ta TTable.

    Lorsque tu ouvre ton formulaire devant afficher tous les contacts, ferme ta TTable de contact si elle est ouverte, supprime les informations présentent dans les propriétés MasterSource, MasterFields et IndexFieldName et ouvre à nouveau ta TTable.

    Voilà.

  8. #8
    Membre éprouvé
    Avatar de Andry
    Profil pro
    Informaticien
    Inscrit en
    Juillet 2002
    Messages
    1 164
    Détails du profil
    Informations personnelles :
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 164
    Points : 1 181
    Points
    1 181
    Par défaut
    Sinon utilise 2 Query différentes.
    A+
    On progresse .....

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 285
    Points : 74
    Points
    74
    Par défaut Gérer une relation Maitre détail
    Bonjour,

    un remerciement, tardif pour vos réponses que je découvre ce matin

    En fait oui j'ai mis deux ADOQuery pour résoudre mon problème.

    Cordialement

    Codial

  10. #10
    Membre expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Points : 3 329
    Points
    3 329
    Par défaut
    si tu ne veut pas utiliser deux adoquery tu peut toujour activé et desactivé la

    liason en modifiant les parametres Mastersource etc.. en mode exécution.
    mais il est conseiller d'utiliser un deuxieme ADOQuery.

  11. #11
    Membre régulier Avatar de Sabact
    Inscrit en
    Septembre 2006
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 189
    Points : 91
    Points
    91
    Par défaut
    Citation Envoyé par codial
    Bonjour,

    un remerciement, tardif pour vos réponses que je découvre ce matin

    En fait oui j'ai mis deux ADOQuery pour résoudre mon problème.

    Cordialement

    Codial
    Salût!
    Quelle solution a tu pris.
    Merci.
    Un sot ne dit pas de choses intelligentes, mais un homme intelligent dit beaucoup de bêtises.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. établir une relation Maitre/Détail avec SQL
    Par SmileSoft dans le forum C++Builder
    Réponses: 8
    Dernier message: 26/09/2009, 20h19
  2. Réponses: 6
    Dernier message: 29/11/2008, 07h16
  3. Mise à jour autravers d'une relation maitre-Détail
    Par Paxaranne dans le forum Forms
    Réponses: 3
    Dernier message: 26/07/2007, 14h00
  4. Réponses: 5
    Dernier message: 12/12/2005, 18h42
  5. [TTable] Pb avec une relation maitre-detail
    Par kase74 dans le forum Bases de données
    Réponses: 3
    Dernier message: 24/10/2005, 10h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo