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 :

Requête avec jointure en maitre détail


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 228
    Points : 117
    Points
    117
    Par défaut Requête avec jointure en maitre détail
    Bonjour,

    Je désire effectuer un maitre détail dans un état Fast report avec deux Query.

    Le query maitre est "qryCasiers" et est remplit tout simplement avec une table d'une base Access.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    with DM.qryCasiers do
        begin
        Active:= false;
        SQL.Clear;
        Datasource:= nil;
        SQL.Add('SELECT * FROM Casiers');
        Active:= true;
        First;
        end;
    Le second query (détail est l'ensemble de 3 tables de la base Access).
    Voici la requête SQL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    With DM.qryVin_Lot_Cases do
        begin
        Active:= false;
        SQL.Clear;
        Datasource:= DM.dsCasiers;
        SQL.Add('SELECT Vins.VIN_ID, Vins.VIN_NOMVIN, Vins.VIN_PAYS, Vins.VIN_REGION, ' +
                ' Vins.VIN_TYPE, Vins.VIN_APPELLATION, Vins.VIN_CLASSEMENT, Lots.LOT_ID, ' +
                ' Lots.LOT_IDVIN, Lots.LOT_QTE, Lots.LOT_MILLESIME, Lots.LOT_FORMAT, ' +
                ' Cases.CA2_ID, Cases.CA2_IDCASIERS, Cases.CA2_NUMCOL, ' +
                ' Cases.CA2_NUMRANG, Cases.CA2_IDLOT ' +
                ' FROM Vins INNER JOIN (Lots LEFT JOIN Cases ON Lots.LOT_ID = Cases.CA2_IDLOT) ' +
                ' ON Vins.VIN_ID = Lots.LOT_IDVIN ');// +
                ' WHERE Cases.CA2_IDCASIERS = :Casiers.CA1_ID');
        Active:= true;
        end;
    Le soucis est que ce code ne donne aucune erreur, mais je n'ai aucune donnée sur mon état.
    Pour effectuer un contrôle, j'ai enlevé la dernière ligne de la requête détail, soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ' WHERE Cases.CA2_IDCASIERS = :Casiers.CA1_ID');
    l'état généré est correcte mais bien sûr sans la relation maitre-détail, c'est à dire avec tous les enregistrement du query "qryVin_Lot_Cases" sont après chaque enregistrement du query "qryCasiers ".

    Mon code SQL est-il correcte ou y-a-t'il une erreur ?
    Merci d'avance

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    228
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 228
    Points : 117
    Points
    117
    Par défaut
    Bonjour à tous,

    J'ai réussis à règler mon problème.
    Sur la dernière ligne de la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ' WHERE Cases.CA2_IDCASIERS = :Casiers.CA1_ID');
    Il faut enlever le nom de la table maître
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ' WHERE Cases.CA2_IDCASIERS = :CA1_ID');
    et çà marche

    Par contre, je ne sais pas pourquoi çà fonctionne sans le nom de la table et que çà ne fonctionne pas avec le nom de la table.

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

Discussions similaires

  1. Requête avec jointure
    Par Maglight dans le forum Langage SQL
    Réponses: 4
    Dernier message: 17/11/2005, 09h57
  2. optimisation d'une requête avec jointure
    Par champijulie dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 07/07/2005, 09h45
  3. Requête avec jointures
    Par Corben dans le forum Langage SQL
    Réponses: 4
    Dernier message: 16/11/2004, 12h55
  4. Mise à jour de table impossible après requête avec jointure
    Par sto dans le forum Bases de données
    Réponses: 5
    Dernier message: 17/03/2004, 13h24
  5. problème de requête avec jointures
    Par tinhat dans le forum Requêtes
    Réponses: 7
    Dernier message: 11/08/2003, 10h33

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