Je possède deux tables : Marchés (coté un) et Fournisseurs (coté
plusieurs).
La table marché se présente ainsi : Ref marché (numéro unique), puis
différentes colonnes représentant les caractéristiques du marché
(durée, ..)
La table Fournisseurs se présente ainsi : Numéro unique,Ref
marché,Numéro fournisseur, différentes colonnes représentant les
caractéristiques du fournisseur.
Le lien entre les tables : le ref marché (un marché a plusieurs
fournisseurs).
Je souhaiterai obtenir la table / requête suivante :
Colonne 1 : par Ref marché
Colonne 2 : Concaténer par Ref Marché l'ensemble des fournisseurs
séparés par un "-"
Quelqu'un saurait-il trouver une solution simple à ce problème ?
Lien entre les deux tables sur REF_MARCHE comme décrit dasn ton message
2 requêtes : 1 - REQ_LST_FOURNISSEUR_PAR_MARCHE SELECT MARCHE.REF_MARCHE, FOURNISSEUR.FOURNISSEUR FROM MARCHE RIGHT JOIN FOURNISSEUR ON MARCHE.REF_MARCHE FOURNISSEUR.REF_MARCHE WHERE (((MARCHE.REF_MARCHE)=[Code Marche])); 2 - REQ_LST_FOURNISSEUR_PAR_MARCHE_RESULT SELECT MARCHE.REF_MARCHE, Fournisseur([MARCHE].[REF_MARCHE]) AS ListeFournisseur FROM MARCHE RIGHT JOIN FOURNISSEUR ON MARCHE.REF_MARCHE FOURNISSEUR.REF_MARCHE GROUP BY MARCHE.REF_MARCHE, Fournisseur([MARCHE].[REF_MARCHE]);
Une fonction dans un module :
Public Function Fournisseur(CodeMarche As Long) As String
Dim Monquery As QueryDef Dim MonJeu As Recordset
On Error GoTo Err_Fournisseur
Set Monquery = CurrentDb.QueryDefs("REQ_LST_FOURNISSEUR_PAR_MARCHE") Monquery.Parameters("[Code Marche]") = CodeMarche Set MonJeu = Monquery.OpenRecordset MonJeu.MoveFirst Do While Not MonJeu.EOF Fournisseur = Fournisseur & MonJeu.Fields("FOURNISSEUR").Value & " - " MonJeu.MoveNext Loop
c'est un peu lourd mais ça marche...(enfin j'espère que c'est ce que tu veux) ;-)
"Mathieu" a écrit dans le message de news:
Bonjour,
J'ai besoin d'une aide.
Je possède deux tables : Marchés (coté un) et Fournisseurs (coté plusieurs).
La table marché se présente ainsi : Ref marché (numéro unique), puis différentes colonnes représentant les caractéristiques du marché (durée, ..) La table Fournisseurs se présente ainsi : Numéro unique,Ref marché,Numéro fournisseur, différentes colonnes représentant les caractéristiques du fournisseur.
Le lien entre les tables : le ref marché (un marché a plusieurs fournisseurs).
Je souhaiterai obtenir la table / requête suivante : Colonne 1 : par Ref marché Colonne 2 : Concaténer par Ref Marché l'ensemble des fournisseurs séparés par un "-"
Quelqu'un saurait-il trouver une solution simple à ce problème ?
un pti truc mais en passant pas une petite fonction :
Lien entre les deux tables sur REF_MARCHE comme décrit dasn ton message
2 requêtes :
1 - REQ_LST_FOURNISSEUR_PAR_MARCHE
SELECT MARCHE.REF_MARCHE, FOURNISSEUR.FOURNISSEUR
FROM MARCHE RIGHT JOIN FOURNISSEUR ON MARCHE.REF_MARCHE FOURNISSEUR.REF_MARCHE
WHERE (((MARCHE.REF_MARCHE)=[Code Marche]));
2 - REQ_LST_FOURNISSEUR_PAR_MARCHE_RESULT
SELECT MARCHE.REF_MARCHE, Fournisseur([MARCHE].[REF_MARCHE]) AS
ListeFournisseur
FROM MARCHE RIGHT JOIN FOURNISSEUR ON MARCHE.REF_MARCHE FOURNISSEUR.REF_MARCHE
GROUP BY MARCHE.REF_MARCHE, Fournisseur([MARCHE].[REF_MARCHE]);
Une fonction dans un module :
Public Function Fournisseur(CodeMarche As Long) As String
Dim Monquery As QueryDef
Dim MonJeu As Recordset
On Error GoTo Err_Fournisseur
Set Monquery = CurrentDb.QueryDefs("REQ_LST_FOURNISSEUR_PAR_MARCHE")
Monquery.Parameters("[Code Marche]") = CodeMarche
Set MonJeu = Monquery.OpenRecordset
MonJeu.MoveFirst
Do While Not MonJeu.EOF
Fournisseur = Fournisseur & MonJeu.Fields("FOURNISSEUR").Value &
" - "
MonJeu.MoveNext
Loop
c'est un peu lourd mais ça marche...(enfin j'espère que c'est ce que tu
veux) ;-)
"Mathieu" <degrieux75@yahoo.fr> a écrit dans le message de
news:ddf4bf91.0408310736.39839e7f@posting.google.com...
Bonjour,
J'ai besoin d'une aide.
Je possède deux tables : Marchés (coté un) et Fournisseurs (coté
plusieurs).
La table marché se présente ainsi : Ref marché (numéro unique), puis
différentes colonnes représentant les caractéristiques du marché
(durée, ..)
La table Fournisseurs se présente ainsi : Numéro unique,Ref
marché,Numéro fournisseur, différentes colonnes représentant les
caractéristiques du fournisseur.
Le lien entre les tables : le ref marché (un marché a plusieurs
fournisseurs).
Je souhaiterai obtenir la table / requête suivante :
Colonne 1 : par Ref marché
Colonne 2 : Concaténer par Ref Marché l'ensemble des fournisseurs
séparés par un "-"
Quelqu'un saurait-il trouver une solution simple à ce problème ?
Lien entre les deux tables sur REF_MARCHE comme décrit dasn ton message
2 requêtes : 1 - REQ_LST_FOURNISSEUR_PAR_MARCHE SELECT MARCHE.REF_MARCHE, FOURNISSEUR.FOURNISSEUR FROM MARCHE RIGHT JOIN FOURNISSEUR ON MARCHE.REF_MARCHE FOURNISSEUR.REF_MARCHE WHERE (((MARCHE.REF_MARCHE)=[Code Marche])); 2 - REQ_LST_FOURNISSEUR_PAR_MARCHE_RESULT SELECT MARCHE.REF_MARCHE, Fournisseur([MARCHE].[REF_MARCHE]) AS ListeFournisseur FROM MARCHE RIGHT JOIN FOURNISSEUR ON MARCHE.REF_MARCHE FOURNISSEUR.REF_MARCHE GROUP BY MARCHE.REF_MARCHE, Fournisseur([MARCHE].[REF_MARCHE]);
Une fonction dans un module :
Public Function Fournisseur(CodeMarche As Long) As String
Dim Monquery As QueryDef Dim MonJeu As Recordset
On Error GoTo Err_Fournisseur
Set Monquery = CurrentDb.QueryDefs("REQ_LST_FOURNISSEUR_PAR_MARCHE") Monquery.Parameters("[Code Marche]") = CodeMarche Set MonJeu = Monquery.OpenRecordset MonJeu.MoveFirst Do While Not MonJeu.EOF Fournisseur = Fournisseur & MonJeu.Fields("FOURNISSEUR").Value & " - " MonJeu.MoveNext Loop
c'est un peu lourd mais ça marche...(enfin j'espère que c'est ce que tu veux) ;-)
"Mathieu" a écrit dans le message de news:
Bonjour,
J'ai besoin d'une aide.
Je possède deux tables : Marchés (coté un) et Fournisseurs (coté plusieurs).
La table marché se présente ainsi : Ref marché (numéro unique), puis différentes colonnes représentant les caractéristiques du marché (durée, ..) La table Fournisseurs se présente ainsi : Numéro unique,Ref marché,Numéro fournisseur, différentes colonnes représentant les caractéristiques du fournisseur.
Le lien entre les tables : le ref marché (un marché a plusieurs fournisseurs).
Je souhaiterai obtenir la table / requête suivante : Colonne 1 : par Ref marché Colonne 2 : Concaténer par Ref Marché l'ensemble des fournisseurs séparés par un "-"
Quelqu'un saurait-il trouver une solution simple à ce problème ?