IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

Requête Comparatif adaptable aux années


Sujet :

Requêtes et SQL.

  1. #21
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 260
    Points : 19 423
    Points
    19 423
    Billets dans le blog
    63
    Par défaut
    il faut que tu mettes entre crochets le nom du formulaire contenant les paramètres...
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  2. #22
    Membre régulier Avatar de DidoFido
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2009
    Messages : 157
    Points : 73
    Points
    73
    Par défaut
    ce qui donnerais ceci comme code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    PARAMETERS Forms![Ouvrir Paramètre État Commission]![Date début première année] DateTime, Forms![Ouvrir Paramètre État Commission]![Date fin première année] DateTime,  Forms![Ouvrir Paramètre État Commission]![Date début deuxième année] DateTime, Forms![Ouvrir Paramètre État Commission]![Date fin deuxième année] DateTime;
    TRANSFORM Sum(T_SRemise.Commission) AS Ventes
    SELECT T_Concession.[Nom Concession], T_SRemise.IDProduits, T_SRemise.IDSProduits
    FROM (T_Concession INNER JOIN T_Remise ON T_Concession.IDConcession = T_Remise.IDConcession) INNER JOIN T_SRemise ON T_Remise.IDRemise = T_SRemise.IDRemise
    GROUP BY T_Concession.[Nom Concession], T_SRemise.IDProduits, T_SRemise.IDSProduits
    PIVOT Format([RemiseDate],"yyyy");
    est-ce bien cela ?
    Office 365 Famille
    J'adore Access, mais j'aimerais bien maîtriser le VBA

  3. #23
    Membre régulier Avatar de DidoFido
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2009
    Messages : 157
    Points : 73
    Points
    73
    Par défaut
    Citation Envoyé par User Voir le message
    Bonjour,

    Il faudrait que ton formulaire nommé "TonForm", contiennent 4 zones de texte nommées "Date début première Année", "Date fin Première Année" et "Date début deuxième Année", "Date fin deuxième Année".

    C'est ce formulaire qui va te servir à ouvrir l'état avec un bouton et du code sur clic, DoCmd.OpenReport "TonEtat"...:

    Ensuite, réécrire les paramètres de la requête source de l'état, en spécifiant le nom du formulaire servant à appeler l'état.

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    PARAMETERS Forms!TonForm![Date début première Année] DateTime, Forms!TonForm![Date fin Première Année] DateTime,  Forms!TonForm![Date début deuxième Année] DateTime, Forms!TonForm![Date fin deuxième Année] DateTime;
    Transform...

    Cdlt,
    Pour le code au bouton que j'ai créer est-ce une Macro ou bien du VBA? (je suis perdu) car si je mets le code que tu mentionnes ça imprime tout de suite l'état, et ce même si je mets aucune date dans mon formulaire.
    Office 365 Famille
    J'adore Access, mais j'aimerais bien maîtriser le VBA

  4. #24
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 260
    Points : 19 423
    Points
    19 423
    Billets dans le blog
    63
    Par défaut
    Le code qui ouvre l'état en mode aperçu ressemble à ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DoCmd.OpenReport "TonEtat", acPreview
    Il faut bien indiqué le paramètre acPreview car sinon il l'imprime direct.

    a+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  5. #25
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 260
    Points : 19 423
    Points
    19 423
    Billets dans le blog
    63
    Par défaut
    Resalut,

    Comme je te l'ai dit il faut mettre le nom du formulaire entre crochets dans le code SQL

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    PARAMETERS Forms![Ouvrir Paramètre État Commission]![Date début première année] DateTime, Forms![Ouvrir Paramètre État Commission]![Date fin première année] DateTime,  Forms![Ouvrir Paramètre État Commission]![Date début deuxième année] DateTime, Forms![Ouvrir Paramètre État Commission]![Date fin deuxième année] DateTime;
    TRANSFORM Sum(T_SRemise.Commission) AS Ventes
    SELECT T_Concession.[Nom Concession], T_SRemise.IDProduits, T_SRemise.IDSProduits
    FROM (T_Concession INNER JOIN T_Remise ON T_Concession.IDConcession = T_Remise.IDConcession) INNER JOIN T_SRemise ON T_Remise.IDRemise = T_SRemise.IDRemise
    GROUP BY T_Concession.[Nom Concession], T_SRemise.IDProduits, T_SRemise.IDSProduits
    PIVOT Format([RemiseDate],"yyyy");

    Si bien sûr j'ai bien reconnu ton formulaire "Ouvrir Paramètre État Commission" ...

    a+
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  6. #26
    Membre régulier Avatar de DidoFido
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2009
    Messages : 157
    Points : 73
    Points
    73
    Par défaut
    Salut User,

    j'ai vraiment besoin d'aide, je suis perdu, j'aimerais bien pouvoir faire un formulaire ou je pourrais entrée mes choix de date (style) "Date début année 1" Date Fin année 1" "Date début année 2" et finalement "Date Fin année 2", ma requête fonctionne très bien, sauf quand j'essaie d'ouvrir mon état il n'arrête pas de me demandé les dates, j'ai essayer a nouveau ce matin de me faire un formulaire pour entré mes choix de dates, mais ca marches pas pourrais-tu m'aider à comprendre.

    merci de ton soutien......
    Office 365 Famille
    J'adore Access, mais j'aimerais bien maîtriser le VBA

  7. #27
    Membre régulier Avatar de DidoFido
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2009
    Messages : 157
    Points : 73
    Points
    73
    Par défaut
    Resalut User,

    j'ai presque réussi, je vais voir si ca marche bien et te reviens........ À SUIVRE
    Office 365 Famille
    J'adore Access, mais j'aimerais bien maîtriser le VBA

  8. #28
    Membre régulier Avatar de DidoFido
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2009
    Messages : 157
    Points : 73
    Points
    73
    Par défaut
    Salut User,

    Finalement je reussi à moitié, j'ai deux requête analyse croisée ou cela marche bien, Seulement avec ma requête (Requête Comparatif Année Dollars) ou je ne reussi pas, il me demande sans cesse Date début an 1, Date fin an 1, Date début an 2 et finalement Date fin an 2. un coup que je l'ai ai entrée, il me redemande encore et encore. (si je clique plusieurs fois sur Annulé ) ma requête s’exécute correctement avec les bonnes données. ou est mon erreurs ?

    voilà mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    PARAMETERS [Date début an1] DateTime, [Date fin an1] DateTime, [Date début an2] DateTime, [Date fin an2] DateTime;
    TRANSFORM Sum(T_SRemise.Montants) AS Ventes
    SELECT T_Concession.[Nom Concession], T_SRemise.IDProduits, T_SRemise.IDSProduits
    FROM T_Concession INNER JOIN (T_Remise INNER JOIN T_SRemise ON T_Remise.IDRemise = T_SRemise.IDRemise) ON T_Concession.IDConcession = T_Remise.IDConcession
    WHERE (((T_Remise.RemiseDate) Between [Date début an1] And [Date fin an1] Or (T_Remise.RemiseDate) Between [Date début an2] And [Date fin an2]))
    GROUP BY T_Concession.[Nom Concession], T_SRemise.IDProduits, T_SRemise.IDSProduits
    ORDER BY Format([RemiseDate],"yyyy")
    PIVOT Format([RemiseDate],"yyyy");
    Office 365 Famille
    J'adore Access, mais j'aimerais bien maîtriser le VBA

  9. #29
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 260
    Points : 19 423
    Points
    19 423
    Billets dans le blog
    63
    Par défaut
    Bonsoir,

    En fait Access ne sait pas à quoi correspondent ces paramètres, il faut donc lui préciser qu'ils appartiennent à un formulaire :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    PARAMETERS Forms![Ouvrir Paramètre État Commission]![Date début an1] DateTime, Forms![Ouvrir Paramètre État Commission]![Date fin an1] DateTime, Forms![Ouvrir Paramètre État Commission]![Date début an2] DateTime, Forms![Ouvrir Paramètre État Commission]![Date fin an2] DateTime;
    TRANSFORM Sum(T_SRemise.Montants) AS Ventes
    SELECT T_Concession.[Nom Concession], T_SRemise.IDProduits, T_SRemise.IDSProduits
    FROM T_Concession INNER JOIN (T_Remise INNER JOIN T_SRemise ON T_Remise.IDRemise = T_SRemise.IDRemise) ON T_Concession.IDConcession = T_Remise.IDConcession
    WHERE (((T_Remise.RemiseDate) Between Forms![Ouvrir Paramètre État Commission]![Date début an1] And Forms![Ouvrir Paramètre État Commission]![Date fin an1] Or (T_Remise.RemiseDate) Between Forms![Ouvrir Paramètre État Commission]![Date début an2] And Forms![Ouvrir Paramètre État Commission]![Date fin an2]))
    GROUP BY T_Concession.[Nom Concession], T_SRemise.IDProduits, T_SRemise.IDSProduits
    ORDER BY Format([RemiseDate],"yyyy")
    PIVOT Format([RemiseDate],"yyyy");

    En supposant que le formulaire appelant se nomme "Ouvrir Paramètre État Commission", sinon change simplement le nom au niveau de la ligne Parameters...

    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  10. #30
    Membre régulier Avatar de DidoFido
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2009
    Messages : 157
    Points : 73
    Points
    73
    Par défaut
    oui mais pourquoi dans 2 autres ca fonctionnes, access me demande pas de réentrer les dates, voici mes autres code,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    PARAMETERS [Date début an1] DateTime, [Date fin an1] DateTime, [Date début an2] DateTime, [Date fin an2] DateTime;
    TRANSFORM Sum(T_SRemise.Montants) AS Ventes
    SELECT T_Concession.[Nom Concession], T_SRemise.IDProduits, T_SRemise.IDSProduits, Year([RemiseDate]) AS Année, Sum([Ventes]) AS AAD
    FROM T_Concession INNER JOIN (T_Remise INNER JOIN T_SRemise ON T_Remise.IDRemise = T_SRemise.IDRemise) ON T_Concession.IDConcession = T_Remise.IDConcession
    WHERE (((T_Remise.RemiseDate) Between [Date début an1] And [Date fin an1] Or (T_Remise.RemiseDate) Between [Date début an2] And [Date fin an2]))
    GROUP BY T_Concession.[Nom Concession], T_SRemise.IDProduits, T_SRemise.IDSProduits, Year([RemiseDate])
    ORDER BY Format([RemiseDate],"mm") DESC 
    PIVOT Format([RemiseDate],"mm") In ("01","02","03","04","05","06","07","08","09","10","11","12");
    et voici mon autre requete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    PARAMETERS [Date début an1] DateTime, [Date fin an1] DateTime, [Date début an2] DateTime, [Date fin an2] DateTime;
    TRANSFORM Sum(T_SRemise.Montants) AS Ventes
    SELECT T_Concession.[Nom Concession], T_SRemise.IDProduits, T_SRemise.IDSProduits, Year([RemiseDate]) AS Année, Sum([Ventes]) AS AAD
    FROM T_Concession INNER JOIN (T_Remise INNER JOIN T_SRemise ON T_Remise.IDRemise = T_SRemise.IDRemise) ON T_Concession.IDConcession = T_Remise.IDConcession
    WHERE (((T_Remise.RemiseDate) Between [Date début an1] And [Date fin an1] Or (T_Remise.RemiseDate) Between [Date début an2] And [Date fin an2]))
    GROUP BY T_Concession.[Nom Concession], T_SRemise.IDProduits, T_SRemise.IDSProduits, Year([RemiseDate])
    ORDER BY Format([RemiseDate],"q") DESC 
    PIVOT Format([RemiseDate],"q") In ("1","2","3","4");
    je comprend vraiment pas!
    Office 365 Famille
    J'adore Access, mais j'aimerais bien maîtriser le VBA

  11. #31
    Membre régulier Avatar de DidoFido
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2009
    Messages : 157
    Points : 73
    Points
    73
    Par défaut
    Salut User,

    j'ai fini par réglé mon problème de demande de date, selon moi j'avais une erreurs dans PARAMETERS.

    j'aurais une autre questions, laisse moi pondre ma question, car c'est compliqué un brin ce que je voudrais, mais très réalisable puisque qu'avant en 2009 vous m'aviez aider à le faire......... à suivre

    Merci pour m'avoir aidé dans mon problème #1 ( je vais laisser le sujet comme non résolu)

    Bonne journée!

    en passant voilà le fameux code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    PARAMETERS [Formulaires]![Plage de date Année Dollars]![date 1] DateTime, [Formulaires]![Plage de date Année Dollars]![date 2] DateTime, [Formulaires]![Plage de date Année Dollars]![date 3] DateTime, [Formulaires]![Plage de date Année Dollars]![date 4] DateTime;
    TRANSFORM Sum(T_SRemise.Montants) AS Vente
    SELECT T_Concession.[Nom Concession], T_SRemise.IDProduits, T_SRemise.IDSProduits
    FROM T_Concession INNER JOIN (T_Remise INNER JOIN T_SRemise ON T_Remise.IDRemise = T_SRemise.IDRemise) ON T_Concession.IDConcession = T_Remise.IDConcession
    WHERE (((T_Remise.RemiseDate) Between [Formulaires]![Plage de date Année Dollars]![date 1] And [Formulaires]![Plage de date Année Dollars]![date 2] Or (T_Remise.RemiseDate) Between [Formulaires]![Plage de date Année Dollars]![date 3] And [Formulaires]![Plage de date Année Dollars]![date 4]))
    GROUP BY T_Concession.[Nom Concession], T_SRemise.IDProduits, T_SRemise.IDSProduits
    PIVOT Format([RemiseDate],"yyyy");
    Office 365 Famille
    J'adore Access, mais j'aimerais bien maîtriser le VBA

  12. #32
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 260
    Points : 19 423
    Points
    19 423
    Billets dans le blog
    63
    Par défaut
    Bonjour,

    Il faudrait clore cette discussion et en ouvrir une autre avec éventuellement une référence à celle-ci.

    Cdlt,
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

  13. #33
    Membre régulier Avatar de DidoFido
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    157
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2009
    Messages : 157
    Points : 73
    Points
    73
    Par défaut
    D'accord!
    Office 365 Famille
    J'adore Access, mais j'aimerais bien maîtriser le VBA

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Comparatif de l'année précédente en une requête
    Par drikcode dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 01/12/2008, 16h40
  2. [bo xi r2] Outils Reporting Adaptés aux Métiers
    Par faressam dans le forum Deski
    Réponses: 4
    Dernier message: 26/04/2008, 14h50
  3. Langage adapté aux mathématiques
    Par etranger dans le forum Langages de programmation
    Réponses: 28
    Dernier message: 28/08/2007, 19h08
  4. Design Fluide, adaptable aux resolutions
    Par silentshade dans le forum Mise en page CSS
    Réponses: 12
    Dernier message: 10/08/2007, 23h28
  5. Réponses: 3
    Dernier message: 01/04/2007, 15h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo