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 :

Maitre détail DB Firebird


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Mai 2006
    Messages : 249
    Par défaut Maitre détail DB Firebird
    Bonjour;
    Je n'arrive pas à réaliser le maitre détail entre deux tables.
    J'ai une table "commandes" COM et une autre "commandes_prd" COM_prd, dans une DB FireBird, et je n'arrive pas à lier les deux tables en maitre détail.
    J'ai mis :
    COM_prd.masterfield:='Client';
    COM_prd.mastersource:=dsCOM;
    Ca ne marche pas, je ne sais pas pourquoi.
    Merci tout le monde.

  2. #2
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 400
    Par défaut
    Citation Envoyé par kaouane Voir le message
    Bonjour;
    Je n'arrive pas à réaliser le maitre détail entre deux tables.
    J'ai une table "commandes" COM et une autre "commandes_prd" COM_prd, dans une DB FireBird, et je n'arrive pas à lier les deux tables en maitre détail.
    J'ai mis :
    COM_prd.masterfield:='Client';
    COM_prd.mastersource:=dsCOM;
    Ca ne marche pas, je ne sais pas pourquoi.
    Merci tout le monde.
    pour établir une relation maitre / détail, il faut qu'il ait au moins un champ en commun entre les tables. à voir ce que tu avance, le champ en question est client, d'abord je vois mal un champ de type caractère dans une relation maitre / détail. ensuite, si le champ n'est pas de type caractère faut spécifier ça par id_client et s'assurer qu'il est bien déclaré dans la table détail comme index secondaire (ou clé étrangère).

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 241
    Par défaut
    +1 Just-Soft

  4. #4
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Mai 2006
    Messages : 249
    Par défaut
    Citation Envoyé par Just-Soft Voir le message
    pour établir une relation maitre / détail, il faut qu'il ait au moins un champ en commun entre les tables.
    C'est évident, le champs 'Client' appartient à la table maitre et en écrivant :
    COM_prd.masterfield:='Client';
    COM_prd.mastersource:=dsCom;
    Cela veut dire que la table COM_prd doit lier sa clé au champs 'Client' de la table COM.

    Citation Envoyé par Just-Soft Voir le message
    d'abord je vois mal un champ de type caractère dans une relation maitre / détail.
    Ce n'est pas un type caractère; mais dans le code vous devez le saisir ainsi!!!!!!!!!!!!!!!!!!!!!

    Citation Envoyé par Just-Soft Voir le message
    ensuite, si le champ n'est pas de type caractère faut spécifier ça par id_client et s'assurer qu'il est bien déclaré dans la table détail comme index secondaire (ou clé étrangère).
    Il me semble que vous ne m'avez pas compris du tout.

  5. #5
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2008
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2008
    Messages : 241
    Par défaut
    Salut Kaouane;

    je pense que Just-Soft a voulue dire que pour faire un maitre / détail il faut que la clé de la table maitre soit une clé secondaire dans la table détail.

  6. #6
    Membre Expert Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Par défaut
    pourquoi pas oublié cette méthode proposé par delphi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    COM_prd.masterfield:='Client';
    COM_prd.mastersource:=dsCOM;
    , et passé par une requette exécuté dans onscroll de la table maître?
    surtout que Fb et IB utlilise la buffirisation voir ici page 9

  7. #7
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Mai 2006
    Messages : 249
    Par défaut
    Citation Envoyé par edam Voir le message
    pourquoi pas oublié cette méthode proposé par delphi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    COM_prd.masterfield:='Client';
    COM_prd.mastersource:=dsCOM;
    , et passé par une requette exécuté dans onscroll de la table maître?
    surtout que Fb et IB utlilise la buffirisation voir ici page 9
    C'est excellent, c'est ce que je doit faire.
    Je suis nouveau embarqué sur le client serveur venant du vieux monde système fichier; je vois mal les choses.

  8. #8
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Mai 2006
    Messages : 249
    Par défaut
    Citation Envoyé par sam83 Voir le message
    Salut Kaouane;

    je pense que Just-Soft a voulue dire que pour faire un maitre / détail il faut que la clé de la table maitre soit une clé secondaire dans la table détail.
    Ca l'est, c'est pourquoi j'ai dis que c'est évident;

  9. #9
    Membre Expert
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 400
    Par défaut
    Re l'ami.

    et voilà, on est arrivé à deux solutions qu'on peut qualifier par solution Delphi et solution SQL.

    néanmoins, l'une comme l'autre, on a besoin de savoir la structure des deux tables si possible, et par là je suis persuadé qu'en fin de compte tu auras deux belles propositions pour résoudre ton problème.

Discussions similaires

  1. Probleme etat maitre détail avec TclientDataset
    Par sessime dans le forum Bases de données
    Réponses: 3
    Dernier message: 21/12/2005, 09h19
  2. [NON RESOLU] Problème changement maitre détail - Requête SQL
    Par Leesox dans le forum Bases de données
    Réponses: 1
    Dernier message: 18/08/2005, 09h49
  3. Quick report maitre détail avec TQuery
    Par shiners300 dans le forum C++Builder
    Réponses: 6
    Dernier message: 17/03/2005, 15h46
  4. Maitre/Détail -> Tri de la table detail
    Par Nathan dans le forum Bases de données
    Réponses: 4
    Dernier message: 12/05/2004, 09h54
  5. [Rave] Maitre/détail
    Par gjullien dans le forum Rave
    Réponses: 1
    Dernier message: 25/10/2003, 14h59

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