Forum PgiBat

PgiBat, le logiciel compagnon de Batigest

Vous n'êtes pas identifié(e).

#1 2013-05-31 16:32:15

briviere
Membre
Inscription : 2013-05-13
Messages : 3

Afficher le nom du groupe dans la vue

Comment peut-on faire afin d'afficher le nom du groupe dans la vue au lieu du code ?
Merci pour votre aide.

Hors ligne

#2 2013-05-31 16:47:18

briviere
Membre
Inscription : 2013-05-13
Messages : 3

Re : Afficher le nom du groupe dans la vue

J'ai trouvé la solution en cherchant un petit peu.

Voici le script SQL que j'ai mis dans ma vue de test (vue des clients avec le libellé du groupe 1) :

SELECT ClientDef.Code, ClientDef.Nom, Groupe.Libelle FROM ([ClientDef] LEFT JOIN [Groupe] ON (ClientDef.CodeGroupe1=Groupe.Code AND Groupe.Type=1))

Bonne continuation

Hors ligne

#3 2013-05-31 23:10:40

Jean-Pierre Leon
Administrateur
Inscription : 2013-03-12
Messages : 54

Re : Afficher le nom du groupe dans la vue

C'est en effet la solution classique que l'on va adopter, ce que l'on appelle faire une jointure.

Le seul problème est que si vous avez de nombreuses tables, les jointures deviennent compliquées et il n'est pas toujours facile de s'y retrouver, en particulier si vous voulez afficher le libellé des 2 groupes, et pour jongler avec LEFT JOIN, RIGHT JOIN, INNER JOIN

L'autre façon de faire est de vous inspirer de cette discussion au sujet de la vue des chantiers avec l'affichage des heures du suivi de main d'oeuvre http://www.pgibat.com/forum/viewtopic.php?pid=8#p8 et simplement insérer une requête dans la requête, et dans là, pas de jointure.

Dans votre cas, et avec l'affichage du libellé des deux groupes, la syntaxe est celle-ci :

SELECT ClientDef.Code, ClientDef.Nom, (SELECT Groupe.Libelle FROM Groupe WHERE Groupe.Code=ClientDef.CodeGroupe1 AND Groupe.Type=1) AS [Libellé groupe 1], (SELECT Groupe.Libelle FROM Groupe WHERE Groupe.Code=ClientDef.CodeGroupe2 AND Groupe.Type=1) AS [Libellé groupe 2]  FROM ClientDef

Cette méthode est plus facile à maitriser, notez au passage la notion d'alias, c'est à dire la façon de donner un nom au champ obtenu avec AS comme dans AS [Libellé groupe 2], cette technique est utilisable dans toutes les requêtes, elle permet de donner des noms plus explicites, et si vous prenez la précaution de mettre ce nom entre crochets, vous pouvez utiliser des espaces ou des caractères accentués.

Enfin, il n'est pas très facile de repérer à quel type de groupe chaque document est associé, voici donc la liste complète :

  • 0 Elements

  • 1 Clients

  • 2 Fournisseurs

  • 3 Sous-traitants

  • 4 Représentants

  • 5 Salariés

  • 6 Chantiers

  • 7 Devis

  • 8 Commandes clients

  • 9 Bons de livraison clients

  • 10 Factures clients

  • 11 Commandes fournisseurs

  • 12 Bons de réception/retours fournisseurs

  • 13 Factures fournisseurs

  • 14 Commandes sous-traitants

  • 15 Factures sous-traitants

Merci d'avoir abordé le sujet !

Hors ligne

Pied de page des forums

Propulsé par FluxBB 1.5.3