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

Requête

13 réponses
Avatar
NewsMic
Bonjour,

J'ai une table des "Clients" (et prospects) et une table des "Commandes".
Un client a déjà passé au moins une commande, un prospect aucune et n'est
donc pas dans la table "Commandes".
Comment obtenir un tableau qui me donne la répartition clients/prospects
avec les quantités de nouveaux clients par mois (sur 24 mois) ?
(Un nouveau client étant défini par sa date de 1ère commande)
Merci

NewsMic

10 réponses

1 2
Avatar
Pierre CFI
bonjour
dans la req, tu dbclic sur le lien clients commades, prend l'option, tous
les enregistrements de clients et seulement...
tous ceux qui n'ont pas de date de cde sont prospect
aprés si tu veus faire une ventillation par mois, faire un tableau croisé

--
Pierre CFI
http://www.mpfa.info
http://glandouyou.neufblog.com/

- * - * - * - *

"NewsMic" a écrit dans le message de
news:487f6b3e$0$870$
Bonjour,

J'ai une table des "Clients" (et prospects) et une table des "Commandes".
Un client a déjà passé au moins une commande, un prospect aucune et n'est
donc pas dans la table "Commandes".
Comment obtenir un tableau qui me donne la répartition clients/prospects
avec les quantités de nouveaux clients par mois (sur 24 mois) ?
(Un nouveau client étant défini par sa date de 1ère commande)
Merci

NewsMic







Avatar
NewsMic
Merci pour cette première partie.
Pour afficher les résultats, j'ai sélectionné les NumeroClient, (+
NomClient, + PrenomClient), DateFacture et NumeroFacture
Tous les champs sont au format Texte sauf la date qui est au format
date/heure.
A la création du TCD, j'ai mis les NuméroClient sur la zone "Champ de ligne"
à gauche
"DateFacture par mois" sur la zone "Champ de colonne" en haut
et les NumeroFacture dans les "champs détail"
Que faire pour obtenir un comptage donnant le total du nombre de facture par
mois ?
Malgré mes essais, mes totaux restent vides.
Merci

NewsMic

"Pierre CFI" a écrit dans le message de news:

bonjour
dans la req, tu dbclic sur le lien clients commades, prend l'option, tous
les enregistrements de clients et seulement...
tous ceux qui n'ont pas de date de cde sont prospect
aprés si tu veus faire une ventillation par mois, faire un tableau croisé

--
Pierre CFI
http://www.mpfa.info
http://glandouyou.neufblog.com/

- * - * - * - *

"NewsMic" a écrit dans le message de
news:487f6b3e$0$870$
Bonjour,

J'ai une table des "Clients" (et prospects) et une table des "Commandes".
Un client a déjà passé au moins une commande, un prospect aucune et n'est
donc pas dans la table "Commandes".
Comment obtenir un tableau qui me donne la répartition clients/prospects
avec les quantités de nouveaux clients par mois (sur 24 mois) ?
(Un nouveau client étant défini par sa date de 1ère commande)
Merci

NewsMic











Avatar
Fabien
NewsMic a écrit :
Merci pour cette première partie.
Pour afficher les résultats, j'ai sélectionné les NumeroClient, (+
NomClient, + PrenomClient), DateFacture et NumeroFacture
Tous les champs sont au format Texte sauf la date qui est au format
date/heure.
A la création du TCD, j'ai mis les NuméroClient sur la zone "Champ de ligne"
à gauche
"DateFacture par mois" sur la zone "Champ de colonne" en haut
et les NumeroFacture dans les "champs détail"
Que faire pour obtenir un comptage donnant le total du nombre de facture par
mois ?
Malgré mes essais, mes totaux restent vides.
Merci

NewsMic

"Pierre CFI" a écrit dans le message de news:

bonjour
dans la req, tu dbclic sur le lien clients commades, prend l'option, tous
les enregistrements de clients et seulement...
tous ceux qui n'ont pas de date de cde sont prospect
aprés si tu veus faire une ventillation par mois, faire un tableau croisé

--
Pierre CFI
http://www.mpfa.info
http://glandouyou.neufblog.com/

- * - * - * - *

"NewsMic" a écrit dans le message de
news:487f6b3e$0$870$
Bonjour,

J'ai une table des "Clients" (et prospects) et une table des "Commandes".
Un client a déjà passé au moins une commande, un prospect aucune et n'est
donc pas dans la table "Commandes".
Comment obtenir un tableau qui me donne la répartition clients/prospects
avec les quantités de nouveaux clients par mois (sur 24 mois) ?
(Un nouveau client étant défini par sa date de 1ère commande)
Merci

NewsMic














Salut NewsMic
As tu quelques chose comme ça :
TRANSFORM Count(N°Commande) AS CompteDeN°
SELECT Client, Count(N° commande) AS [Total de N°]
FROM Commande
GROUP BY Client
PIVOT Format([Date 1],"mmm") In
("janv","févr","mars","avr","mai","juin","juil","août","sept","oct","nov","déc");
Sinon montre nous le SQL.
@+
Avatar
NewsMic
Bonjour,

En réponse à :
"As tu quelques chose comme ça :
TRANSFORM Count(N°Commande) AS CompteDeN°...etc"


Non
Ma requête clients_commandes est :
SELECT Adresses.ZNOCLI, Adresses.ZNOMMJ, Adresses.ZPREMJ,
Ventes_Clients.[Date facture], Ventes_Clients.[Numéro Facture]
FROM Adresses LEFT JOIN Ventes_Clients ON Adresses.ZNOCLI =
Ventes_Clients.[Numéro client]
WHERE (((Ventes_Clients.[Numéro Facture]) Is Not Null));
(le where car pour compter les commandes, les prospects sont inutiles)

Pour le TCD, quand je clique dessus s'affiche une boite de dialogue :
"Entrez une valeur de paramètre : Requête1.Znocli"
Je clique sur ok sans entrer aucune valeur et j'ai le tableau complet.
Mais seules les options "mode tableau croisé dynamique" et "mode création"
sont disponibles, pas de SQL.
Il y a certainement quelque chose que je n'ai pas fait correctement...

NewsMic

"Fabien" a écrit dans le message de news:
%
NewsMic a écrit :
Merci pour cette première partie.
Pour afficher les résultats, j'ai sélectionné les NumeroClient, (+
NomClient, + PrenomClient), DateFacture et NumeroFacture
Tous les champs sont au format Texte sauf la date qui est au format
date/heure.
A la création du TCD, j'ai mis les NuméroClient sur la zone "Champ de
ligne" à gauche
"DateFacture par mois" sur la zone "Champ de colonne" en haut
et les NumeroFacture dans les "champs détail"
Que faire pour obtenir un comptage donnant le total du nombre de facture
par mois ?
Malgré mes essais, mes totaux restent vides.
Merci

NewsMic

"Pierre CFI" a écrit dans le message de
news:
bonjour
dans la req, tu dbclic sur le lien clients commades, prend l'option,
tous les enregistrements de clients et seulement...
tous ceux qui n'ont pas de date de cde sont prospect
aprés si tu veus faire une ventillation par mois, faire un tableau
croisé

--
Pierre CFI
http://www.mpfa.info
http://glandouyou.neufblog.com/

- * - * - * - *

"NewsMic" a écrit dans le message de
news:487f6b3e$0$870$
Bonjour,

J'ai une table des "Clients" (et prospects) et une table des
"Commandes".
Un client a déjà passé au moins une commande, un prospect aucune et
n'est donc pas dans la table "Commandes".
Comment obtenir un tableau qui me donne la répartition
clients/prospects avec les quantités de nouveaux clients par mois (sur
24 mois) ?
(Un nouveau client étant défini par sa date de 1ère commande)
Merci

NewsMic














Salut NewsMic
As tu quelques chose comme ça :
TRANSFORM Count(N°Commande) AS CompteDeN°
SELECT Client, Count(N° commande) AS [Total de N°]
FROM Commande
GROUP BY Client
PIVOT Format([Date 1],"mmm") In
("janv","févr","mars","avr","mai","juin","juil","août","sept","oct","nov","déc");
Sinon montre nous le SQL.
@+




Avatar
Michel__D
Bonjour,

Puisque tu souhaite avoir le nombre de nouveaux clients par mois, il faut
ramener de ta table [Ventes_Clients] la date de la 1ère commande
'Min(Ventes_Clients.[Date facture])' de chaque client et pas une date
quelconque, ensuite tu pourras faire ta requête d'analyse croisée.


NewsMic a écrit :
Bonjour,

En réponse à :
"As tu quelques chose comme ça :
TRANSFORM Count(N°Commande) AS CompteDeN°...etc"


Non
Ma requête clients_commandes est :
SELECT Adresses.ZNOCLI, Adresses.ZNOMMJ, Adresses.ZPREMJ,
Ventes_Clients.[Date facture], Ventes_Clients.[Numéro Facture]
FROM Adresses LEFT JOIN Ventes_Clients ON Adresses.ZNOCLI =
Ventes_Clients.[Numéro client]
WHERE (((Ventes_Clients.[Numéro Facture]) Is Not Null));
(le where car pour compter les commandes, les prospects sont inutiles)

Pour le TCD, quand je clique dessus s'affiche une boite de dialogue :
"Entrez une valeur de paramètre : Requête1.Znocli"
Je clique sur ok sans entrer aucune valeur et j'ai le tableau complet.
Mais seules les options "mode tableau croisé dynamique" et "mode création"
sont disponibles, pas de SQL.
Il y a certainement quelque chose que je n'ai pas fait correctement...

NewsMic

"Fabien" a écrit dans le message de news:
%
NewsMic a écrit :
Merci pour cette première partie.
Pour afficher les résultats, j'ai sélectionné les NumeroClient, (+
NomClient, + PrenomClient), DateFacture et NumeroFacture
Tous les champs sont au format Texte sauf la date qui est au format
date/heure.
A la création du TCD, j'ai mis les NuméroClient sur la zone "Champ de
ligne" à gauche
"DateFacture par mois" sur la zone "Champ de colonne" en haut
et les NumeroFacture dans les "champs détail"
Que faire pour obtenir un comptage donnant le total du nombre de facture
par mois ?
Malgré mes essais, mes totaux restent vides.
Merci

NewsMic

"Pierre CFI" a écrit dans le message de
news:
bonjour
dans la req, tu dbclic sur le lien clients commades, prend l'option,
tous les enregistrements de clients et seulement...
tous ceux qui n'ont pas de date de cde sont prospect
aprés si tu veus faire une ventillation par mois, faire un tableau
croisé

--
Pierre CFI
http://www.mpfa.info
http://glandouyou.neufblog.com/

- * - * - * - *

"NewsMic" a écrit dans le message de
news:487f6b3e$0$870$
Bonjour,

J'ai une table des "Clients" (et prospects) et une table des
"Commandes".
Un client a déjà passé au moins une commande, un prospect aucune et
n'est donc pas dans la table "Commandes".
Comment obtenir un tableau qui me donne la répartition
clients/prospects avec les quantités de nouveaux clients par mois (sur
24 mois) ?
(Un nouveau client étant défini par sa date de 1ère commande)
Merci

NewsMic












Salut NewsMic
As tu quelques chose comme ça :
TRANSFORM Count(N°Commande) AS CompteDeN°
SELECT Client, Count(N° commande) AS [Total de N°]
FROM Commande
GROUP BY Client
PIVOT Format([Date 1],"mmm") In
("janv","févr","mars","avr","mai","juin","juil","août","sept","oct","nov","déc");
Sinon montre nous le SQL.
@+








Avatar
NewsMic
Merci. Mais comment insérer ce critère (Min(Ventes_Clients.[Date facture])
dans ma requête svp ?
Requête SELECT Adresses.ZNOCLI, Adresses.ZNOMMJ, Adresses.ZPREMJ,
Ventes_Clients.[Date facture], Ventes_Clients.[Numéro Facture]
FROM Adresses LEFT JOIN Ventes_Clients ON Adresses.ZNOCLI =
Ventes_Clients.[Numéro client]
WHERE (((Ventes_Clients.[Numéro Facture]) Is Not Null))
ORDER BY Ventes_Clients.[Numéro Facture];

NewsMic


"Michel__D" a écrit dans le message de
news:
Bonjour,

Puisque tu souhaite avoir le nombre de nouveaux clients par mois, il faut
ramener de ta table [Ventes_Clients] la date de la 1ère commande
'Min(Ventes_Clients.[Date facture])' de chaque client et pas une date
quelconque, ensuite tu pourras faire ta requête d'analyse croisée.


NewsMic a écrit :
Bonjour,

En réponse à :
"As tu quelques chose comme ça :
TRANSFORM Count(N°Commande) AS CompteDeN°...etc"


Non
Ma requête clients_commandes est :
SELECT Adresses.ZNOCLI, Adresses.ZNOMMJ, Adresses.ZPREMJ,
Ventes_Clients.[Date facture], Ventes_Clients.[Numéro Facture]
FROM Adresses LEFT JOIN Ventes_Clients ON Adresses.ZNOCLI =
Ventes_Clients.[Numéro client]
WHERE (((Ventes_Clients.[Numéro Facture]) Is Not Null));
(le where car pour compter les commandes, les prospects sont inutiles)

Pour le TCD, quand je clique dessus s'affiche une boite de dialogue :
"Entrez une valeur de paramètre : Requête1.Znocli"
Je clique sur ok sans entrer aucune valeur et j'ai le tableau complet.
Mais seules les options "mode tableau croisé dynamique" et "mode
création" sont disponibles, pas de SQL.
Il y a certainement quelque chose que je n'ai pas fait correctement...

NewsMic

"Fabien" a écrit dans le message de news:
%
NewsMic a écrit :
Merci pour cette première partie.
Pour afficher les résultats, j'ai sélectionné les NumeroClient, (+
NomClient, + PrenomClient), DateFacture et NumeroFacture
Tous les champs sont au format Texte sauf la date qui est au format
date/heure.
A la création du TCD, j'ai mis les NuméroClient sur la zone "Champ de
ligne" à gauche
"DateFacture par mois" sur la zone "Champ de colonne" en haut
et les NumeroFacture dans les "champs détail"
Que faire pour obtenir un comptage donnant le total du nombre de
facture par mois ?
Malgré mes essais, mes totaux restent vides.
Merci

NewsMic

"Pierre CFI" a écrit dans le message de
news:
bonjour
dans la req, tu dbclic sur le lien clients commades, prend l'option,
tous les enregistrements de clients et seulement...
tous ceux qui n'ont pas de date de cde sont prospect
aprés si tu veus faire une ventillation par mois, faire un tableau
croisé

--
Pierre CFI
http://www.mpfa.info
http://glandouyou.neufblog.com/

- * - * - * - *

"NewsMic" a écrit dans le message de
news:487f6b3e$0$870$
Bonjour,

J'ai une table des "Clients" (et prospects) et une table des
"Commandes".
Un client a déjà passé au moins une commande, un prospect aucune et
n'est donc pas dans la table "Commandes".
Comment obtenir un tableau qui me donne la répartition
clients/prospects avec les quantités de nouveaux clients par mois
(sur 24 mois) ?
(Un nouveau client étant défini par sa date de 1ère commande)
Merci

NewsMic












Salut NewsMic
As tu quelques chose comme ça :
TRANSFORM Count(N°Commande) AS CompteDeN°
SELECT Client, Count(N° commande) AS [Total de N°]
FROM Commande
GROUP BY Client
PIVOT Format([Date 1],"mmm") In
("janv","févr","mars","avr","mai","juin","juil","août","sept","oct","nov","déc");
Sinon montre nous le SQL.
@+











Avatar
Fabien
NewsMic a écrit :
Merci. Mais comment insérer ce critère (Min(Ventes_Clients.[Date facture])
dans ma requête svp ?
Requête > SELECT Adresses.ZNOCLI, Adresses.ZNOMMJ, Adresses.ZPREMJ,
Ventes_Clients.[Date facture], Ventes_Clients.[Numéro Facture]
FROM Adresses LEFT JOIN Ventes_Clients ON Adresses.ZNOCLI =
Ventes_Clients.[Numéro client]
WHERE (((Ventes_Clients.[Numéro Facture]) Is Not Null))
ORDER BY Ventes_Clients.[Numéro Facture];

NewsMic




Salut,
Une solution
SELECT Adresses.ZNOCLI, Adresses.ZNOMMJ, Adresses.ZPREMJ,
dmin("[Date facture]";"Ventes_Clients";"[Numéro Client]=" &
Ventes_Clients.[Numéro client], Ventes_Clients.[Numéro Facture]
FROM Adresses LEFT JOIN Ventes_Clients ON Adresses.ZNOCLI Ventes_Clients.[Numéro client]
WHERE (((Ventes_Clients.[Numéro Facture]) Is Not Null))
ORDER BY Ventes_Clients.[Numéro Facture];
@+
Avatar
Fabien
Fabien a écrit :
NewsMic a écrit :
Merci. Mais comment insérer ce critère (Min(Ventes_Clients.[Date
facture]) dans ma requête svp ?
Requête >> SELECT Adresses.ZNOCLI, Adresses.ZNOMMJ, Adresses.ZPREMJ,
Ventes_Clients.[Date facture], Ventes_Clients.[Numéro Facture]
FROM Adresses LEFT JOIN Ventes_Clients ON Adresses.ZNOCLI =
Ventes_Clients.[Numéro client]
WHERE (((Ventes_Clients.[Numéro Facture]) Is Not Null))
ORDER BY Ventes_Clients.[Numéro Facture];

NewsMic




Re



Petite correction ;-)

SELECT Adresses.ZNOCLI, Adresses.ZNOMMJ, Adresses.ZPREMJ, dmin("[Date
facture]";"Ventes_Clients";"[Numéro Client]=" &
Ventes_Clients.[Numéro client]) as PremDateVente,
Ventes_Clients.[Numéro Facture]
FROM Adresses LEFT JOIN Ventes_Clients ON Adresses.ZNOCLI =
Ventes_Clients.[Numéro client]
WHERE (((Ventes_Clients.[Numéro Facture]) Is Not Null))
ORDER BY Ventes_Clients.[Numéro Facture];
@+
Avatar
Michel__D
Bonjour,

Pourquoi veux-tu insérer ce nouveau champ dans ta requête ?

SELECT [Numéro client], Min([Date facture]) AS 1ereFacture
FROM Ventes_Clients
WHERE ([Numéro Facture] Is Not Null)
GROUP BY [Numéro client];

Ensuite tu fais la requête d'analyse croisée par rapport à cette requête.

TRANSFORM Count([Numéro client]) AS NbClient
SELECT Year([1ereFacture]) AS Annee
FROM LaRequetePrecedente
GROUP BY Year([1ereFacture])
PIVOT Format([1ereFacture],"mmm") In ("janv","févr","mars","avr","mai","juin","juil","août","sept","oct","nov","déc");


NewsMic a écrit :
Merci. Mais comment insérer ce critère (Min(Ventes_Clients.[Date facture])
dans ma requête svp ?
Requête > SELECT Adresses.ZNOCLI, Adresses.ZNOMMJ, Adresses.ZPREMJ,
Ventes_Clients.[Date facture], Ventes_Clients.[Numéro Facture]
FROM Adresses LEFT JOIN Ventes_Clients ON Adresses.ZNOCLI =
Ventes_Clients.[Numéro client]
WHERE (((Ventes_Clients.[Numéro Facture]) Is Not Null))
ORDER BY Ventes_Clients.[Numéro Facture];

NewsMic


"Michel__D" a écrit dans le message de
news:
Bonjour,

Puisque tu souhaite avoir le nombre de nouveaux clients par mois, il faut
ramener de ta table [Ventes_Clients] la date de la 1ère commande
'Min(Ventes_Clients.[Date facture])' de chaque client et pas une date
quelconque, ensuite tu pourras faire ta requête d'analyse croisée.


NewsMic a écrit :
Bonjour,

En réponse à :
"As tu quelques chose comme ça :
TRANSFORM Count(N°Commande) AS CompteDeN°...etc"


Non
Ma requête clients_commandes est :
SELECT Adresses.ZNOCLI, Adresses.ZNOMMJ, Adresses.ZPREMJ,
Ventes_Clients.[Date facture], Ventes_Clients.[Numéro Facture]
FROM Adresses LEFT JOIN Ventes_Clients ON Adresses.ZNOCLI =
Ventes_Clients.[Numéro client]
WHERE (((Ventes_Clients.[Numéro Facture]) Is Not Null));
(le where car pour compter les commandes, les prospects sont inutiles)

Pour le TCD, quand je clique dessus s'affiche une boite de dialogue :
"Entrez une valeur de paramètre : Requête1.Znocli"
Je clique sur ok sans entrer aucune valeur et j'ai le tableau complet.
Mais seules les options "mode tableau croisé dynamique" et "mode
création" sont disponibles, pas de SQL.
Il y a certainement quelque chose que je n'ai pas fait correctement...

NewsMic

"Fabien" a écrit dans le message de news:
%
NewsMic a écrit :
Merci pour cette première partie.
Pour afficher les résultats, j'ai sélectionné les NumeroClient, (+
NomClient, + PrenomClient), DateFacture et NumeroFacture
Tous les champs sont au format Texte sauf la date qui est au format
date/heure.
A la création du TCD, j'ai mis les NuméroClient sur la zone "Champ de
ligne" à gauche
"DateFacture par mois" sur la zone "Champ de colonne" en haut
et les NumeroFacture dans les "champs détail"
Que faire pour obtenir un comptage donnant le total du nombre de
facture par mois ?
Malgré mes essais, mes totaux restent vides.
Merci

NewsMic

"Pierre CFI" a écrit dans le message de
news:
bonjour
dans la req, tu dbclic sur le lien clients commades, prend l'option,
tous les enregistrements de clients et seulement...
tous ceux qui n'ont pas de date de cde sont prospect
aprés si tu veus faire une ventillation par mois, faire un tableau
croisé

--
Pierre CFI
http://www.mpfa.info
http://glandouyou.neufblog.com/

- * - * - * - *

"NewsMic" a écrit dans le message de
news:487f6b3e$0$870$
Bonjour,

J'ai une table des "Clients" (et prospects) et une table des
"Commandes".
Un client a déjà passé au moins une commande, un prospect aucune et
n'est donc pas dans la table "Commandes".
Comment obtenir un tableau qui me donne la répartition
clients/prospects avec les quantités de nouveaux clients par mois
(sur 24 mois) ?
(Un nouveau client étant défini par sa date de 1ère commande)
Merci

NewsMic











Salut NewsMic
As tu quelques chose comme ça :
TRANSFORM Count(N°Commande) AS CompteDeN°
SELECT Client, Count(N° commande) AS [Total de N°]
FROM Commande
GROUP BY Client
PIVOT Format([Date 1],"mmm") In
("janv","févr","mars","avr","mai","juin","juil","août","sept","oct","nov","déc");
Sinon montre nous le SQL.
@+













Avatar
NewsMic
Bonjour,

J'ai tout supprimé et je suis reparti à zéro.
J'ai créé la requête que tu me proposes ci-dessous. ok. La voici
SELECT [Numéro client], Min([Date facture]) AS 1ereFacture
FROM Ventes_Clients
WHERE (([Numéro Facture]) Is Not Null)
GROUP BY [Numéro client];

Mais l'analyse croisée m'est refusée car en mode création, la case Numéro
Facture n'est pas cochée à cause de la condition WHERE. Si je la coche, la
requête ne fonctionne pas. Ca donne un message qui dit en résumé soit c'est
'Où', soit c'est la case cochée, mais pas les 2 en même temps.
Comme il ne reste plus que 2 champs cochés, le message à la création de
l'analyse croisée est :
"La table/requête sélectionnée ne contient pas assez de champs pour fournir
des données à une requête d'analyse croisée. Sélectionnez une table/requête
avec au moins 3 champs de type numérique, date ou texte."

Question sur ton SQL de l'analyse croisée : je dois remonter sur 24 mois,
est ce que l'option 'year' avec les mois va bien distinguer les mois de
chaque année ?

Merci aussi aux autres réponses.

NewsMic


"Michel__D" a écrit dans le message de
news:
Bonjour,

Pourquoi veux-tu insérer ce nouveau champ dans ta requête ?

SELECT [Numéro client], Min([Date facture]) AS 1ereFacture
FROM Ventes_Clients
WHERE ([Numéro Facture] Is Not Null)
GROUP BY [Numéro client];

Ensuite tu fais la requête d'analyse croisée par rapport à cette requête.

TRANSFORM Count([Numéro client]) AS NbClient
SELECT Year([1ereFacture]) AS Annee
FROM LaRequetePrecedente
GROUP BY Year([1ereFacture])
PIVOT Format([1ereFacture],"mmm") In
("janv","févr","mars","avr","mai","juin","juil","août","sept","oct","nov","déc");


1 2