Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Crystal Reports
Crystal Reports Forum d'entraide sur Crystal Reports. Avant de poster --> FAQ Crystal, Tutoriels Crystal
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/02/2008, 11h13   #1
Invité de passage
 
Inscription : février 2008
Messages : 8
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 8
Points : 0
Points : 0
Par défaut [CR XI] jointure externe

Bonjour,
Malgré plusieurs sujets sur les jointures externes, je n'arrive pas à résoudre mon problème :
Je souhaite afficher les commandes ayant un bon de livraison qu'elles soient facturées ou non, mais à partir du moment où j'intègre la table facture dans mon modèle, crystal n'affiche que les commandes ayant des factures.
J'ai tenté à l'aide de l'expert base de données et de l'onglet option de mise en relation dans liens de mettre en place une jointure externe mais le résultat est identique... j'ai essayé jointure gauche, droite ou complete avec appliqué vers, depuis ... mais rien ne fonctionne...
Quelqu'un peut-il m'aider?
Merci d'avance
Nabnallee
nabnallee est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2008, 14h39   #2
say
Membre Expert
 
Avatar de say
 
Inscription : août 2002
Messages : 1 175
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : août 2002
Messages : 1 175
Points : 1 135
Points : 1 135
Envoyer un message via MSN à say
difficile sans voir les liens...
d'après ce que tu dis, c'est la bonne méthode...
LEFT join sur la table facture...

cependant appliques tu un critère sur cette table?
si oui, du moment que tu appliques un critère, ça revient à faire un INNER

A+
__________________
Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
_ _ _ _ _ _ _ _ _

La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
_ _ _ _ _ _ _ _ _

Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres
say est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2008, 16h29   #3
Invité de passage
 
Inscription : février 2008
Messages : 8
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 8
Points : 0
Points : 0
alors en fait j'ai deux tables : Fournisseurs_BL_Lignes et Fournisseur_Factures_Lignes.
Elles sont liées par la clé étrangère : CliFacLig_Code_CliBlLig+CliFacLig_No_Ligne_CliBlLig qui est primaire pour Fournisseurs_BL_Lignes et étrangère pour Fournisseurs_Factures_lignes.

C'est sur ces deux liens que j'ai mis la jointure externe gauche avec l'expert base de données... mais il ne se passe rien...
Je me demande s'il n'y a pas qqchose à cocher qqpart en plus?
nabnallee est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2008, 00h31   #4
Inactif
 
Avatar de Aitone
 
Inscription : novembre 2006
Messages : 3 569
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 3 569
Points : 3 291
Points : 3 291
Bonsoir,

Il faut une jointure externe gauche de Fournisseurs_BL_Lignes vers Fournisseurs_Factures_lignes.
Aitone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 14h40   #5
Invité de passage
 
Inscription : février 2008
Messages : 8
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 8
Points : 0
Points : 0
Bah c'est ce que j'ai fait mais ça ne change rien aux résultats, que je mette la jointure ou non, je n'obtiens que les bons de livraisons qui sont déjà facturés.
nabnallee est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 14h54   #6
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 540
Points : 9 540
As-tu vu la question de say ?
Citation:
Envoyé par say Voir le message
cependant appliques tu un critère sur cette table?
si oui, du moment que tu appliques un critère, ça revient à faire un INNER
Peux-tu nous donner le SQL généré par Crystal ?
__________________
Antoun
Expert SQL, BO, Essbase

La bible d'Essbase est parue !
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 14h59   #7
say
Membre Expert
 
Avatar de say
 
Inscription : août 2002
Messages : 1 175
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : août 2002
Messages : 1 175
Points : 1 135
Points : 1 135
Envoyer un message via MSN à say
bjr,

tes liens tu les as fait toi même ou CR s'est organisé?
il m'a souvent semblé que CR prévoit des NATURAL JOIN parfois à côté de la plaque et on ne voit pas certains liens qui se retrouvent superposés.

supprimes tous les liens et crées les tiens explicitement. Encore une fois, le moindre critère sur la table de droite appliquera un INNER JOIN.

si tu peux envoyer ton report, je veux bien regarder
__________________
Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
_ _ _ _ _ _ _ _ _

La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
_ _ _ _ _ _ _ _ _

Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres
say est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 15h14   #8
Inactif
 
Avatar de Aitone
 
Inscription : novembre 2006
Messages : 3 569
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 3 569
Points : 3 291
Points : 3 291
Citation:
Envoyé par say Voir le message
il m'a souvent semblé que CR prévoit des NATURAL JOIN parfois à côté de la plaque et on ne voit pas certains liens qui se retrouvent superposés.
parfois ?
Aitone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 15h21   #9
say
Membre Expert
 
Avatar de say
 
Inscription : août 2002
Messages : 1 175
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : août 2002
Messages : 1 175
Points : 1 135
Points : 1 135
Envoyer un message via MSN à say
ah...attention...ça va trollé si tu me lances ;-)
bah en même temps, le natural...bah il fait ce qu'on lui dit
__________________
Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
_ _ _ _ _ _ _ _ _

La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
_ _ _ _ _ _ _ _ _

Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres
say est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 15h26   #10
Invité de passage
 
Inscription : février 2008
Messages : 8
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 8
Points : 0
Points : 0
qu'est ce que vous appelez un critère?
je vais regarder le sql généré
nabnallee est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 16h00   #11
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 540
Points : 9 540
Citation:
Envoyé par nabnallee Voir le message
qu'est ce que vous appelez un critère?
une condition posée avec l'expert sélection
__________________
Antoun
Expert SQL, BO, Essbase

La bible d'Essbase est parue !
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 16h02   #12
Invité de passage
 
Inscription : février 2008
Messages : 8
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 8
Points : 0
Points : 0
ok, donc non je n'ai aucun critère avec l'expert sélection. Par contre voici le script sql généré :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 SELECT "Clients_BL_Lignes"."CliBLLig_Code", 
"Clients_BL_Lignes"."CliBLLig_No_Ligne", 
"Clients_Factures"."CliFac_Date_Facture", 
"Clients_Factures_Lignes"."CliFacLig_Code", "Clients_BL"."CliBL_Date_Envoi", 
"Clients_BL"."CliBL_Code", "Clients_Factures_Lignes"."CliFacLig_No_Ligne"
 FROM   (("DB_SATORI"."dbo"."Clients_Factures_Lignes" "Clients_Factures_Lignes" 
LEFT OUTER JOIN "DB_SATORI"."dbo"."Clients_BL_Lignes" "Clients_BL_Lignes" 
  ON ("Clients_Factures_Lignes"."CliFacLig_Code_CliBlLig"="Clients_BL_Lignes"."CliBLLig_Code") 
    AND ("Clients_Factures_Lignes"."CliFacLig_No_Ligne_CliBlLig"="Clients_BL_Lignes"."CliBLLig_No_Ligne")) 
INNER JOIN "DB_SATORI"."dbo"."Clients_Factures" "Clients_Factures" 
  ON "Clients_Factures_Lignes"."CliFacLig_Code_CliFac"="Clients_Factures"."CliFac_Code") 
INNER JOIN "DB_SATORI"."dbo"."Clients_BL" "Clients_BL" 
  ON "Clients_BL_Lignes"."CliBLLig_Code_CliBL"="Clients_BL"."CliBL_Code"
 
ORDER BY "Clients_BL"."CliBL_Code"
nabnallee est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 16h08   #13
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 540
Points : 9 540
La jointure entre Clients BL et Clients_BL_Lignes devrait elle aussi être externe.
__________________
Antoun
Expert SQL, BO, Essbase

La bible d'Essbase est parue !
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 16h11   #14
Inactif
 
Avatar de Aitone
 
Inscription : novembre 2006
Messages : 3 569
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 3 569
Points : 3 291
Points : 3 291
Citation:
Envoyé par Antoun Voir le message
La jointure entre Clients BL et Clients_BL_Lignes devrait elle aussi être externe.
Pourquoi ? On a forcément un bon de livraison donc on a BL et BL_Lignes non ?
Aitone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 16h15   #15
say
Membre Expert
 
Avatar de say
 
Inscription : août 2002
Messages : 1 175
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : août 2002
Messages : 1 175
Points : 1 135
Points : 1 135
Envoyer un message via MSN à say
Citation:
Envoyé par Antoun Voir le message
La jointure entre Clients BL et Clients_BL_Lignes devrait elle aussi être externe.
+1

[t'avais qd même omis de nous dire qu'il y avait plus de 2 tables liées ]
__________________
Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
_ _ _ _ _ _ _ _ _

La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
_ _ _ _ _ _ _ _ _

Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres
say est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 16h18   #16
say
Membre Expert
 
Avatar de say
 
Inscription : août 2002
Messages : 1 175
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : août 2002
Messages : 1 175
Points : 1 135
Points : 1 135
Envoyer un message via MSN à say
Citation:
Envoyé par Adrien Artero Voir le message
Pourquoi ? On a forcément un bon de livraison donc on a BL et BL_Lignes non ?
j'avoue ne pas avoir de véritable explication, c'est de manière empirique que j'ai remarqué que le LEFT doit être propagé en cascade ou encapsuler par bloc
__________________
Ils ne savaient pas que c'était impossible alors ils l'ont fait (Mark Twain)
_ _ _ _ _ _ _ _ _

La planète ne nous appartient pas, elle nous a été prêtée par nos enfants
_ _ _ _ _ _ _ _ _

Technos : Access, C++ Builder, SQL, PostgreSQL, Crystal Reports, XML entre autres
say est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 16h20   #17
Invité de passage
 
Inscription : février 2008
Messages : 8
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 8
Points : 0
Points : 0
oui mais meme avec uniquement les deux tables ca marche pas...
enfin je vais essayer de mettre la deuxième jointure
nabnallee est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 16h20   #18
Rédacteur/Modérateur

 
Avatar de Antoun
 
Homme Antoine Dinimant
Consultant en Business Intelligence
Inscription : octobre 2006
Messages : 5 854
Détails du profil
Informations personnelles :
Nom : Homme Antoine Dinimant
Âge : 42
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : octobre 2006
Messages : 5 854
Points : 9 540
Points : 9 540
Citation:
Envoyé par Adrien Artero Voir le message
Pourquoi ? On a forcément un bon de livraison donc on a BL et BL_Lignes non ?
Pas quand il n'y a pas de BL_Lignes !
__________________
Antoun
Expert SQL, BO, Essbase

La bible d'Essbase est parue !
Antoun est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 16h26   #19
Inactif
 
Avatar de Aitone
 
Inscription : novembre 2006
Messages : 3 569
Détails du profil
Informations forums :
Inscription : novembre 2006
Messages : 3 569
Points : 3 291
Points : 3 291
Citation:
Envoyé par Antoun Voir le message
Pas quand il n'y a pas de BL_Lignes !
Mais il doit y en avoir toute le temps... BL (ou plutôt Clients_BL) est la table en-tête de livraison... Mais on ne fait une livraison si et seulement si on livre quelque chose. Donc il y a forcément au minimum une ligne et Clients_BL_Lignes est forcément renseigné
Ou alors j'ai loupé quelque chose
Aitone est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2008, 16h29   #20
Invité de passage
 
Inscription : février 2008
Messages : 8
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 8
Points : 0
Points : 0
oui effectivement mettre une jointure entre Client_BL et Clients_BL_Lignes n'a fait que planter crystal et effectivement à partir du moment qu'il y a un entete de BL il y a forcément au moins une ligne qui correspond
nabnallee est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h23.


 
 
 
 
Partenaires

Hébergement Web