Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

regroupement sur un champs texte

6 réponses
Avatar
David
Bonjour,

est-il possible pour une requête analyse croisée de faire un
regroupement sur les 3 premières lettre d'un champs?
j'ai essayé d'utiliser somdom() avec du chr() mais je n'arrive pas à mes
fins.

Merci par avance pour vos lumières

D.

6 réponses

Avatar
3stone
Salut,

"David"
| est-il possible pour une requête analyse croisée de faire un
| regroupement sur les 3 premières lettre d'un champs?


Les 3 première lettres d'un champs se récupèrent par :

Left([LeChamp];3) As G3champ


| j'ai essayé d'utiliser somdom() avec du chr() mais je n'arrive pas à mes
| fins.

heu... ?

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
David
Salut,

"David"
| est-il possible pour une requête analyse croisée de faire un
| regroupement sur les 3 premières lettre d'un champs?


Les 3 première lettres d'un champs se récupèrent par :

Left([LeChamp];3) As G3champ


| j'ai essayé d'utiliser somdom() avec du chr() mais je n'arrive pas à mes
| fins.

heu... ?

Salut pierre,


merci pour ton infos, j'ai bien les trois premières lettres mais le
regoupement ne se fait pas. existe -il une façon de forcer le
regroupement sur un champs précis ?

D.

Avatar
Michel_D
Bonjour,

Normalement cela devrait fonctionner, donne le SQL de ta requête.


"David" a écrit dans le message de news:47b423a6$0$27594$
Salut,

"David"
| est-il possible pour une requête analyse croisée de faire un
| regroupement sur les 3 premières lettre d'un champs?


Les 3 première lettres d'un champs se récupèrent par :

Left([LeChamp];3) As G3champ


| j'ai essayé d'utiliser somdom() avec du chr() mais je n'arrive pas à mes
| fins.

heu... ?

Salut pierre,


merci pour ton infos, j'ai bien les trois premières lettres mais le
regoupement ne se fait pas. existe -il une façon de forcer le
regroupement sur un champs précis ?

D.



Avatar
David
Bonjour,

Normalement cela devrait fonctionner, donne le SQL de ta requête.


"David" a écrit dans le message de news:47b423a6$0$27594$
Salut,

"David"
| est-il possible pour une requête analyse croisée de faire un
| regroupement sur les 3 premières lettre d'un champs?


Les 3 première lettres d'un champs se récupèrent par :

Left([LeChamp];3) As G3champ


| j'ai essayé d'utiliser somdom() avec du chr() mais je n'arrive pas à mes
| fins.

heu... ?

Salut pierre,


merci pour ton infos, j'ai bien les trois premières lettres mais le
regoupement ne se fait pas. existe -il une façon de forcer le
regroupement sur un champs précis ?

D.


voilà le sql de la requête d'analyse croisée :


TRANSFORM Sum(Round([Montant net]/1000,1)) AS MN
SELECT [rqt Détail Factures].Société, [tbl Contrats].[Associé
responsable] AS [(#)], Left([tbl contrats].[Code Contrat],3) AS Contrat,
[tbl Contrats].[Date du Contrat], [tbl contrats].Budget*[durée]/1000 AS
[(K€)], [tbl Contrats].[Numéro Mission], [tbl Contrats].Libellé, [tbl
Contrats].[Repartition associé] AS Tx, Round(([tbl
Contrats].Budget*([repartition associé]/100))/1000,1) AS Cont
FROM (tblMissions INNER JOIN [tbl Contrats] ON tblMissions.[Numéro
Mission]=[tbl Contrats].[Numéro Mission]) INNER JOIN ([tbl Factures]
INNER JOIN [rqt Détail Factures] ON [tbl Factures].[Numéro
Brouillard]=[rqt Détail Factures].[Numéro Brouillard]) ON [tbl
Contrats].[Code Contrat]=[rqt Détail Factures].[Code Contrat]
WHERE ((([tbl Contrats].Fermer)=No) AND (([tbl Factures].Imprimée)=Yes))
GROUP BY [rqt Détail Factures].Société, [tbl Contrats].[Associé
responsable], Left([tbl contrats].[Code Contrat],3), [tbl
Contrats].[Date du Contrat], [tbl contrats].Budget*[durée]/1000, [tbl
Contrats].[Numéro Mission], [tbl Contrats].Libellé, [tbl
Contrats].[Repartition associé], Round(([tbl
Contrats].Budget*([repartition associé]/100))/1000,1), DateDiff("m",[tbl
contrats].[date de début],[tbl contrats].[date de fin])+1, [tbl
Factures].Imprimée
ORDER BY [tbl Contrats].[Associé responsable]
PIVOT "Q" & "" & DatePart("q",[date facture],1) In ("Q1","Q2","Q3","Q4");



Avatar
Michel_D
Bonjour,

Essaye avec ce genre de jointure (à adapter) :

FROM tblMissions AS T1
INNER JOIN ([tbl Contrats] AS T2
INNER JOIN ([rqt Détail Factures] AS T4
INNER JOIN [tbl Factures] AS T3
ON T4.[Numéro Brouillard]=T3.[Numéro Brouillard])
ON T2.[Code Contrat]=T4.[Code Contrat])
ON T1.[Numéro Mission]=T2.[Numéro Mission]


"David" a écrit dans le message de news:47b4821f$0$23891$
Bonjour,

Normalement cela devrait fonctionner, donne le SQL de ta requête.


"David" a écrit dans le message de news:47b423a6$0$27594$
Salut,

"David"
| est-il possible pour une requête analyse croisée de faire un
| regroupement sur les 3 premières lettre d'un champs?


Les 3 première lettres d'un champs se récupèrent par :

Left([LeChamp];3) As G3champ


| j'ai essayé d'utiliser somdom() avec du chr() mais je n'arrive pas à mes
| fins.

heu... ?

Salut pierre,


merci pour ton infos, j'ai bien les trois premières lettres mais le
regoupement ne se fait pas. existe -il une façon de forcer le
regroupement sur un champs précis ?

D.


voilà le sql de la requête d'analyse croisée :


TRANSFORM Sum(Round([Montant net]/1000,1)) AS MN
SELECT [rqt Détail Factures].Société, [tbl Contrats].[Associé
responsable] AS [(#)], Left([tbl contrats].[Code Contrat],3) AS Contrat,
[tbl Contrats].[Date du Contrat], [tbl contrats].Budget*[durée]/1000 AS
[(K€)], [tbl Contrats].[Numéro Mission], [tbl Contrats].Libellé, [tbl
Contrats].[Repartition associé] AS Tx, Round(([tbl
Contrats].Budget*([repartition associé]/100))/1000,1) AS Cont
FROM (tblMissions INNER JOIN [tbl Contrats] ON tblMissions.[Numéro
Mission]=[tbl Contrats].[Numéro Mission]) INNER JOIN ([tbl Factures]
INNER JOIN [rqt Détail Factures] ON [tbl Factures].[Numéro
Brouillard]=[rqt Détail Factures].[Numéro Brouillard]) ON [tbl
Contrats].[Code Contrat]=[rqt Détail Factures].[Code Contrat]
WHERE ((([tbl Contrats].Fermer)=No) AND (([tbl Factures].Imprimée)=Yes))
GROUP BY [rqt Détail Factures].Société, [tbl Contrats].[Associé
responsable], Left([tbl contrats].[Code Contrat],3), [tbl
Contrats].[Date du Contrat], [tbl contrats].Budget*[durée]/1000, [tbl
Contrats].[Numéro Mission], [tbl Contrats].Libellé, [tbl
Contrats].[Repartition associé], Round(([tbl
Contrats].Budget*([repartition associé]/100))/1000,1), DateDiff("m",[tbl
contrats].[date de début],[tbl contrats].[date de fin])+1, [tbl
Factures].Imprimée
ORDER BY [tbl Contrats].[Associé responsable]
PIVOT "Q" & "" & DatePart("q",[date facture],1) In ("Q1","Q2","Q3","Q4");





Avatar
David
Bonjour,

Essaye avec ce genre de jointure (à adapter) :

FROM tblMissions AS T1
INNER JOIN ([tbl Contrats] AS T2
INNER JOIN ([rqt Détail Factures] AS T4
INNER JOIN [tbl Factures] AS T3
ON T4.[Numéro Brouillard]=T3.[Numéro Brouillard])
ON T2.[Code Contrat]=T4.[Code Contrat])
ON T1.[Numéro Mission]=T2.[Numéro Mission]


"David" a écrit dans le message de news:47b4821f$0$23891$
Bonjour,

Normalement cela devrait fonctionner, donne le SQL de ta requête.


"David" a écrit dans le message de news:47b423a6$0$27594$
Salut,

"David"
| est-il possible pour une requête analyse croisée de faire un
| regroupement sur les 3 premières lettre d'un champs?


Les 3 première lettres d'un champs se récupèrent par :

Left([LeChamp];3) As G3champ


| j'ai essayé d'utiliser somdom() avec du chr() mais je n'arrive pas à mes
| fins.

heu... ?

Salut pierre,


merci pour ton infos, j'ai bien les trois premières lettres mais le
regoupement ne se fait pas. existe -il une façon de forcer le
regroupement sur un champs précis ?

D.
voilà le sql de la requête d'analyse croisée :



TRANSFORM Sum(Round([Montant net]/1000,1)) AS MN
SELECT [rqt Détail Factures].Société, [tbl Contrats].[Associé
responsable] AS [(#)], Left([tbl contrats].[Code Contrat],3) AS Contrat,
[tbl Contrats].[Date du Contrat], [tbl contrats].Budget*[durée]/1000 AS
[(K€)], [tbl Contrats].[Numéro Mission], [tbl Contrats].Libellé, [tbl
Contrats].[Repartition associé] AS Tx, Round(([tbl
Contrats].Budget*([repartition associé]/100))/1000,1) AS Cont
FROM (tblMissions INNER JOIN [tbl Contrats] ON tblMissions.[Numéro
Mission]=[tbl Contrats].[Numéro Mission]) INNER JOIN ([tbl Factures]
INNER JOIN [rqt Détail Factures] ON [tbl Factures].[Numéro
Brouillard]=[rqt Détail Factures].[Numéro Brouillard]) ON [tbl
Contrats].[Code Contrat]=[rqt Détail Factures].[Code Contrat]
WHERE ((([tbl Contrats].Fermer)=No) AND (([tbl Factures].Imprimée)=Yes))
GROUP BY [rqt Détail Factures].Société, [tbl Contrats].[Associé
responsable], Left([tbl contrats].[Code Contrat],3), [tbl
Contrats].[Date du Contrat], [tbl contrats].Budget*[durée]/1000, [tbl
Contrats].[Numéro Mission], [tbl Contrats].Libellé, [tbl
Contrats].[Repartition associé], Round(([tbl
Contrats].Budget*([repartition associé]/100))/1000,1), DateDiff("m",[tbl
contrats].[date de début],[tbl contrats].[date de fin])+1, [tbl
Factures].Imprimée
ORDER BY [tbl Contrats].[Associé responsable]
PIVOT "Q" & "" & DatePart("q",[date facture],1) In ("Q1","Q2","Q3","Q4");


Merci Michel