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

  1. #1
    Membre habitué
    Inscrit en
    Mai 2006
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Mai 2006
    Messages : 249
    Points : 165
    Points
    165
    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.
    Deux personnes n'apprennent pas, un arrogant et un timide.

  2. #2
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    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 401
    Points : 2 304
    Points
    2 304
    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).
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  3. #3
    Membre actif
    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
    Points : 204
    Points
    204
    Par défaut
    +1 Just-Soft

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 249
    Points : 165
    Points
    165
    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.
    Deux personnes n'apprennent pas, un arrogant et un timide.

  5. #5
    Membre actif
    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
    Points : 204
    Points
    204
    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 émérite 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
    Points : 2 771
    Points
    2 771
    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
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 249
    Points : 165
    Points
    165
    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.
    Deux personnes n'apprennent pas, un arrogant et un timide.

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 249
    Points : 165
    Points
    165
    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;
    Deux personnes n'apprennent pas, un arrogant et un timide.

  9. #9
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    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 401
    Points : 2 304
    Points
    2 304
    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.
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  10. #10
    Membre habitué
    Inscrit en
    Mai 2006
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Mai 2006
    Messages : 249
    Points : 165
    Points
    165
    Par défaut
    Citation Envoyé par Just-Soft Voir le message
    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.
    Mais non cher ami;
    La méthode delphi ne marche pas et la question reste toujours : Pourquoi?
    Deux personnes n'apprennent pas, un arrogant et un timide.

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    147
    Détails du profil
    Informations personnelles :
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 147
    Points : 184
    Points
    184
    Par défaut
    Pour établir une relation maitre détail par SQL tu dois mettre dans ton Query détail une requete sql dont la base est du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select TDetail_Champ_1 from TDEtail where T_Detail_FK = :T_Maitre_PK

    Tu met la propriété Datasource du Query détail = Query maitre (ca tu le sais déjà) et surtout tu mets le même nom de champ pour le paramètre de ta requête détail que le champ cle de ta table maitre.
    Au royaume des aveugles, les borgnes sont rois.

  12. #12
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    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 401
    Points : 2 304
    Points
    2 304
    Par défaut
    J'ai toujours travaillé avec la solution Delphi et elle marche à tout les coups. Je crois toujours que le problème vient de ta base de données.
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  13. #13
    Membre habitué
    Inscrit en
    Mai 2006
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Mai 2006
    Messages : 249
    Points : 165
    Points
    165
    Par défaut
    Citation Envoyé par Just-Soft Voir le message
    J'ai toujours travaillé avec la solution Delphi et elle marche à tout les coups. Je crois toujours que le problème vient de ta base de données.
    Très fort possible;
    Merci.
    Deux personnes n'apprennent pas, un arrogant et un timide.

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