Etat avec une liste complète

Le
pomu
J'ai une table (T1) contenant un champ avec une liste de défaut (df)
et j'ai une autre table (T2) avec un champ contenant une liste
d'objets (ob) ayant un ou plusieurs défauts (df) de la table T1. Sur
un état imprimé par objet (ob), j'aimerais que l'entier de la liste de
défauts (df) de la table T1 soit imprimée et qu'une case à cocher soit=

activée en regard de chaque défaut (df) liée avec l'objet (ob).
Comment arriver à ce résultat inespéré Bonnes fêtes à toutes =
et à
tous et merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Fabien
Le #6342711
J'ai une table (T1) contenant un champ avec une liste de défaut (df)
et j'ai une autre table (T2) avec un champ contenant une liste
d'objets (ob) ayant un ou plusieurs défauts (df) de la table T1. Sur
un état imprimé par objet (ob), j'aimerais que l'entier de la liste de
défauts (df) de la table T1 soit imprimée et qu'une case à cocher soit
activée en regard de chaque défaut (df) liée avec l'objet (ob).
Comment arriver à ce résultat inespéré... Bonnes fêtes à toutes et à
tous et merci
Bonjour à toi aussi Pomu,

Voici une première solution.
J'ai cependant considéré que tu avais 3 tables
- Table Piéces Cd Piece,Libelle
- Table Pieces Defaut : Code Piece code defaut
- Table Defaut : Code defaut, Libelle
et fait 4 requetes
R1
R2
R3 : R1 union R2
et
R4 Analyse croisées dynamique de R3

R1 : Classique : liste des pièces et de leurs defauts
SELECT Pieces.[Cd Piece], Pieces.Designation, Defaut.Defaut, True AS Etat
FROM (Pieces INNER JOIN [Piece Defaut] ON Pieces.[Cd Piece] = [Piece
Defaut].[Cd Piece]) INNER JOIN Defaut ON [Piece Defaut].[Cd defaut] =
Defaut.Cd;

R2 : elle ne sert qu'a avoir une pièce avec tous les defauts
SELECT 9999 AS cd, "AAAA" AS design, Defaut.Defaut, False AS Etat
FROM Defaut;

R3 :
SELECT *
FROM Requête1
UNION SELECT *
FROM Requête2;

R4 :
TRANSFORM First([Union R1 R2].Etat) AS PremierDeEtat
SELECT [Union R1 R2].[Cd Piece], [Union R1 R2].Designation
FROM [Union R1 R2]
GROUP BY [Union R1 R2].[Cd Piece], [Union R1 R2].Designation
PIVOT [Union R1 R2].Defaut;

Te donnera un tableau avec en lignes le code piéce et sa désigation, en
colonne le nom des défauts et en valeur null ou -1 selon que la piéce a
ou non ce défaut.

C'est pas exactement ce que tu cherches mais c'est pas trés loin ;-)
A toi de voir.

PS : dans la base EXEMPLE.MDB fournie avec ACCESS il y a un exemple
d'état dynamique basé sur une requete croisées dynamique ;-)

Fabien
Le #6342691
J'ai une table (T1) contenant un champ avec une liste de défaut (df)
et j'ai une autre table (T2) avec un champ contenant une liste
d'objets (ob) ayant un ou plusieurs défauts (df) de la table T1. Sur
un état imprimé par objet (ob), j'aimerais que l'entier de la liste de
défauts (df) de la table T1 soit imprimée et qu'une case à cocher soit
activée en regard de chaque défaut (df) liée avec l'objet (ob).
Comment arriver à ce résultat inespéré... Bonnes fêtes à toutes et à
tous et merci
Re.

Avec
SELECT Pieces.[Cd Piece], Pieces.Designation, Defaut.Defaut,
Sum([cd]=[cd defaut]) AS test
FROM Defaut, Pieces INNER JOIN [Piece Defaut] ON Pieces.[Cd Piece] =
[Piece Defaut].[Cd Piece]
GROUP BY Pieces.[Cd Piece], Pieces.Designation, Defaut.Defaut
ORDER BY Pieces.[Cd Piece], Defaut.Defaut;

Cà doit être OK

Publicité
Poster une réponse
Anonyme