![]() |
| |||
| 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 |
| | ||||
| ||||
| |
| |||
| 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" <XXX_pierresalaun***wanadoo.fr> a écrit dans le message de news: uxMt5ND6IHA.1280***TK2MSFTNGP02.phx.gbl... > 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" <britannicus60***wanadoo.fr> a écrit dans le message de > news:487f6b3e$0$870$ba4acef3***news.orange.fr... >> 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 >> >> >> >> >> > > |
| |||
| 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" <UrbaniakFabienxxxx***Neuf.fr> a écrit dans le message de news: %23nhxL9J6IHA.1592***TK2MSFTNGP04.phx.gbl... > 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" <XXX_pierresalaun***wanadoo.fr> a écrit dans le message de >> news: uxMt5ND6IHA.1280***TK2MSFTNGP02.phx.gbl... >>> 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" <britannicus60***wanadoo.fr> a écrit dans le message de >>> news:487f6b3e$0$870$ba4acef3***news.orange.fr... >>>> 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","a oût","sept","oct","nov","déc"); > Sinon montre nous le SQL. > ***+ > > |
| |||
| 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" <Michel.NOSPAM***orange-ft.com.invalid> a écrit dans le message de news: eJVCoSY6IHA.2260***TK2MSFTNGP03.phx.gbl... > 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" <UrbaniakFabienxxxx***Neuf.fr> a écrit dans le message de news: >> %23nhxL9J6IHA.1592***TK2MSFTNGP04.phx.gbl... >>> 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" <XXX_pierresalaun***wanadoo.fr> a écrit dans le message de >>>> news: uxMt5ND6IHA.1280***TK2MSFTNGP02.phx.gbl... >>>>> 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" <britannicus60***wanadoo.fr> a écrit dans le message de >>>>> news:487f6b3e$0$870$ba4acef3***news.orange.fr... >>>>>> 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","a oût","sept","oct","nov","déc"); >>> Sinon montre nous le SQL. >>> ***+ >>> >>> >> >> > |
| |||
| 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" <Michel.NOSPAM***orange-ft.com.invalid> a écrit dans le message de news: evnaxAM7IHA.3736***TK2MSFTNGP06.phx.gbl... > 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","a oût","sept","oct","nov","déc"); |
| |||
| Créer une analyse crosée à partir de la requête est impossible car il n'y a que 2 champs. J'ai copier/coller ta requête croisée commençant par TRANSFORM et finissant par les mois de l'année. J'ai créé une requête simple que j'ai édité en mode SQL et j'y ai copié ta requête croisée. Elle fonctionne parfaitement : j'ai le total par mois en colonne et par année sur les lignes. Mais je ne peux pas l'enregistrer, j'ai le message : "Vous devez entrer Regroupement dans la ligne Opération lorsque vous entrez En-tête de colonne dans la ligne Table de requête croisée" NewsMic "Michel__D" <Michel.NOSPAM***orange-ft.com.invalid> a écrit dans le message de news: %23577RPP7IHA.2224***TK2MSFTNGP05.phx.gbl... > re, > > Tu as bien ceci en mode SQL : > > 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","a oût","sept","oct","nov","déc"); > > PS: La [LaRequetePrecedente] est celle-ci (à adapter éventuellement) : > > SELECT [Numéro client], Min([Date facture]) AS 1ereFacture > FROM [Ventes_Clients] > WHERE (([Numéro Facture]) Is Not Null) > GROUP BY [Numéro client]; > > PS:Une fois que ceci fonctionnera on s'occupera des 24 mois. > > > NewsMic a écrit : >> 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" <Michel.NOSPAM***orange-ft.com.invalid> a écrit dans le message >> de news: evnaxAM7IHA.3736***TK2MSFTNGP06.phx.gbl... >>> 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","a oût","sept","oct","nov","déc"); >> >> > |
| |
| |
![]() |
| Tags: requte |
| Outils de la discussion | |
| Modes d'affichage | |
| |
| ||||
| Discussion | Auteur | Forum | Réponses | Dernier message |
| VBA tri requête en VBA | domivax@hotmail.com | Newsgroup microsoft.public.fr.access | 3 | 15/02/2008 14h11 |
| Requête création de table à partir d'une requête SQL | Gaspareau | Newsgroup microsoft.public.fr.access | 1 | 08/02/2008 06h09 |
| Requête | db | Newsgroup alt.fr.comp.lang.php | 3 | 14/01/2008 12h25 |
| Requête SQL | PimSaVie | Newsgroup fr.comp.developpement.agl.windev | 4 | 28/12/2007 07h07 |
| requête SQL MOM | YoMen | Newsgroup microsoft.public.fr.mom | 6 | 12/09/2006 04h28 |