Re: Jointure ds Requete

Posté par drcharly93 le 14/10/2005 1:02:44
Bonjour,

Une technique consiste à commencer à créer une premiere requete RsBudget avec une rubrique Réalisé a vide
Exemple :
RsBudget est une source de donnees
Sql est une chaine

Sql = "SELECT Client AS Client, " + RC...
    + "Budget AS Budget, " + RC...
    + "'0' AS Realise " + RC...
    + "FROM Ecritures " + RC...
    + "GROUP BY Client"
SI PAS HExecuteRequeteSQL(RsBudget, HRequeteDefaut, Sql) Alors
  Erreur(HErreurInfo())
  Retour
Fin

Puis de créer la deuxieme Requete sur le Réalisé
RsRealise est une source de donnees
Sql est une chaine

Sql = "SELECT Client AS Client, " + RC...
    + "Realise AS Realise " + RC...
    + "FROM Ecritures " + RC...
    + "GROUP BY Client"
SI PAS HExecuteRequeteSQL(RsRealise, HRequeteDefaut, Sql) Alors
  Erreur(HErreurInfo())
  Retour
Fin

Puis de compléter la requête RsBudget avec le contenu de la requête RsBudget
POUR TOUS RsRealise
  RsBudget.Realise = RsRealise.Realise
  //On recherche si le client existe dans la requete RsBudget.
  Si HLitRecherche(RsBudget,Client,RsRealise.Client) Alors
    HModifie(RsBudget) //si existe on modifie l'enregistrement
  Sinon
    HAjoute(RsBudget) // on l'ajoute
  Fin
FIN

A ce niveau RsBudget contient les chiffres Budget et réalisé

Ce code est saisi à la volée et peu comporter des erreurs

Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=12&topic_id=2872&post_id=12013