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

Access Discussion :

Formule prix par Article en fonction de l'année la plus récente [AC-2002]


Sujet :

Access

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2012
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Service public

    Informations forums :
    Inscription : Février 2012
    Messages : 61
    Points : 36
    Points
    36
    Par défaut Formule prix par Article en fonction de l'année la plus récente
    Bonjour,

    C'est une formule à intégrer dans une requete qui est trés compliquée à créer.

    Voici ma requete initiale :

    Article Désignation Prix Année
    M90890 ECROU M42X150 40,20 € 2009
    MAB007 TUBE LAITON REFROIDISSE.AGORALINE-CITELI 118,08 € 2008
    MAB007 TUBE LAITON REFROIDISSE.AGORALINE-CITELI 105,00 € 2009
    MAB007 TUBE LAITON REFROIDISSE.AGORALINE-CITELI 92,82 € 2010
    MAB007 TUBE LAITON REFROIDISSE.AGORALINE-CITELI 92,82 € 2011
    MAB008 TUYAU LAITON VERS RADIATEUR 82,75 € 2008
    MAB008 TUYAU LAITON VERS RADIATEUR 86,94 € 2010
    MAB011 TUBE LAITON REFROIDISSEMENT SUR VANNE 80,14 € 2008
    MAB011 TUBE LAITON REFROIDISSEMENT SUR VANNE 80,14 € 2009
    MAB011 TUBE LAITON REFROIDISSEMENT SUR VANNE 27,34 € 2011

    J'aimerai en finalité garder que les articles avec le prix de l'année la plus récente. C'est à dire :

    Article Désignation Prix Année
    M90890 ECROU M42X150 40,20 € 2009
    MAB007 TUBE LAITON REFROIDISSE.AGORALINE-CITELI 92,82 € 2011
    MAB008 TUYAU LAITON VERS RADIATEUR 86,94 € 2010
    MAB011 TUBE LAITON REFROIDISSEMENT SUR VANNE 27,34 € 2011

    Je vous joint en fichier access, la requete initiale, peut etre cela sera plus facile à visualiser. (je pense en rechDom ou Dlookup mais )

    Merci beaucoup par avance.
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 090
    Points : 5 207
    Points
    5 207
    Par défaut
    Bonjour,

    Je pense qu'un truc dans ce genre fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select article, desi, max(annee)
    ,(select prix from matable x where x.article=m.article and x.desi=m.desi and x.annee=max(m.annee))
    from MaTable m
    group by article, designation
    ou sinon plus simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from matable where annee=(select max(annee) from matable x where...)
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2012
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Service public

    Informations forums :
    Inscription : Février 2012
    Messages : 61
    Points : 36
    Points
    36
    Par défaut
    Ces indications sont à mentionner ou ?

    Pas en formule dans une colonne requete ?

    Peux tu m'expliquer sil te plait.

    Merci d'avance.

  4. #4
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 090
    Points : 5 207
    Points
    5 207
    Par défaut
    Citation Envoyé par Sebastien1977 Voir le message
    Ces indications sont à mentionner ou ?
    Ca dépend pour faire quoi...

    La requête proposée produit la 2e liste à partir de la 1ere

    Tu peux t'en inspirer pour créer une fonction publique qui donne le dernier prix d'une référence donnée (un 1er select trouve la dernière année, un 2e trouve le prix correspondant). Cette fonction sera alors utilisable partout
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2012
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Service public

    Informations forums :
    Inscription : Février 2012
    Messages : 61
    Points : 36
    Points
    36
    Par défaut
    En fait, je comprends pas grand chose (voir rien) en virtual Basic.

    Je voulais recréerune requete en repreprenant les articles et désignations regroupés.

    Puis par une formule dans la troisième colonne l'année maximum pour cette article.

    Puis une auttre formule dans la quatrième colonne, le prix se rapportant à l'année de la colonne précédente.

    C'est donc les 2 formules que je souhaitais.

    Merci beaucoup

  6. #6
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 090
    Points : 5 207
    Points
    5 207
    Par défaut
    Citation Envoyé par Sebastien1977 Voir le message
    En fait, je comprends pas grand chose (voir rien) en virtual Basic.
    VB = visual basic
    Ca tombe bien je n'ai écrit que du SQL dans les posts ci-dessus

    Je voulais recréerune requete en repreprenant les articles et désignations regroupés.
    Puis par une formule dans la troisième colonne l'année maximum pour cette article.
    Puis une auttre formule dans la quatrième colonne, le prix se rapportant à l'année de la colonne précédente.
    Les 2 requetes proposées sont sensées produire justement ces 4 colonnes !
    Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2012
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Service public

    Informations forums :
    Inscription : Février 2012
    Messages : 61
    Points : 36
    Points
    36
    Par défaut
    Comment va t-on dans le virtual basic pour taper ces formules ?

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2012
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Service public

    Informations forums :
    Inscription : Février 2012
    Messages : 61
    Points : 36
    Points
    36
    Par défaut
    je suis sur une piste pour retrouver l'année :

    Année: MaxDom("Année";"[Calcul Prix 2007-2012 par Articles IVECO]";"[Articles]=.............")

    Mais j'arrive pas finaliser pour Articles.

    La requete de recherche est :

    Article Désignation Prix Année
    MAB007 TUBE LAITON REFROIDISSE.AGORALINE-CITELI 118,08 € 2008
    MAB007 TUBE LAITON REFROIDISSE.AGORALINE-CITELI 105,00 € 2009
    MAB007 TUBE LAITON REFROIDISSE.AGORALINE-CITELI 92,82 € 2010
    MAB007 TUBE LAITON REFROIDISSE.AGORALINE-CITELI 92,82 € 2011


    La fin de la formule pour qu'il retrouve l'année 2011.

    Merci

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2012
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Service public

    Informations forums :
    Inscription : Février 2012
    Messages : 61
    Points : 36
    Points
    36
    Par défaut
    Ci-joint la base de donnée ou il faut créer dans la requete"Retrouver Année...", l'année max par article et le prix ci-rappportant. Merci
    Fichiers attachés Fichiers attachés

  10. #10
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 265
    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 265
    Points : 19 434
    Points
    19 434
    Billets dans le blog
    63
    Par défaut
    Salut,

    Je ne réponds pas en message privé pour une question déjà postée sur le forum.

    De plus les requêtes de ta base ne fonctionnent pas.

    La solution de Nico est parfaitement valable le problème c'est de l'appliquer.

    Une autre solution serait d'utiliser une fonction de domaine :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Prix: RechDom("Prix";"[Calcul Prix 2007-2012 par Articles IVECO]";"Année=" & Max([Année]) & " and Article='" & [Article] & "'")
    Dans une requête regroupement dont le sql (à mettre dans l'éditeur SQL de la requête) pourrait être :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Article, Designation, DLookUp("Prix","[Calcul Prix 2007-2012 par Articles IVECO]","Année=" & Max([Année]) & " and Article='" & [Article] & "'") AS Prix, Max(Année) AS MaxDeAnnée
    FROM [Calcul Prix 2007-2012 par Articles IVECO]
    GROUP BY Article, Designation;
    Dans la requête en mode création il faut mettre un regroupement sur les champs Article et désignation et une fonction max sur Année et comme expression du prix la formule jointe.

    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

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2012
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Service public

    Informations forums :
    Inscription : Février 2012
    Messages : 61
    Points : 36
    Points
    36
    Par défaut
    Bravo messieurs, j'ai réussi à retrouver l'année grace à la manip SQL :

    SELECT Article, Designation, DLookUp("Prix","[Calcul Prix 2007-2012 par Articles IVECO]","Année=" & Max([Année]) & " and Article='" & [Article] & "'") AS Prix, Max(Année) AS MaxDeAnnée
    FROM [Calcul Prix 2007-2012 par Articles IVECO]
    GROUP BY Article, Designation;

    Maintenant, il ne me reste que le prix ci-rapportant à trouver.

    J'ai essayé le code :

    Prix: RechDom("Prix";"[Calcul Prix 2007-2012 par Articles IVECO]";"Année=" & Max([Année]) & " and Article='" & [Article] & "'")

    Il m'indique un message d'erreur : Imossible d'avoir une fonction d'agrégat dans la clause GROUP BY DLookUp("Prix","[Calcul Prix 2007-2012 par Articles IVECO]","Année=" & Max([Année]) & " and Article='" & [Article] & "'")


    ????

    En vous remerciant par avance pour vos réponses.

  12. #12
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 265
    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 265
    Points : 19 434
    Points
    19 434
    Billets dans le blog
    63
    Par défaut
    Problème classique :

    Dans l'éditeur de requête,
    Pour le champ "prix",
    et sur la ligne "opération", mettre "expression" au lieu de "regroupement".

    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

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2012
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Service public

    Informations forums :
    Inscription : Février 2012
    Messages : 61
    Points : 36
    Points
    36
    Par défaut
    ok ca marche saus que dans la colonne prix il y a #Erreur à la place des prix.

    Merci

  14. #14
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 265
    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 265
    Points : 19 434
    Points
    19 434
    Billets dans le blog
    63
    Par défaut
    Peux-tu poster ta base ?
    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

  15. #15
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2012
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Service public

    Informations forums :
    Inscription : Février 2012
    Messages : 61
    Points : 36
    Points
    36
    Par défaut
    Vous trouverez ci-joint la base avec #Erreur au Prix et message erreur
    Fichiers attachés Fichiers attachés

  16. #16
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 265
    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 265
    Points : 19 434
    Points
    19 434
    Billets dans le blog
    63
    Par défaut
    ça vient de la requête source qui contient des erreurs:
    Fichiers attachés Fichiers attachés
    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

  17. #17
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2012
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Service public

    Informations forums :
    Inscription : Février 2012
    Messages : 61
    Points : 36
    Points
    36
    Par défaut
    peux tu me dire quelles erreurs as tu recencés dans ma requete source

  18. #18
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2012
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Service public

    Informations forums :
    Inscription : Février 2012
    Messages : 61
    Points : 36
    Points
    36
    Par défaut
    en tous cas Merci beaucoup.

    Si vous pouviez aussi répondre précisemment sur mon autre message ce serait génial.

    [AC-2002] Macro - Requete création de table

  19. #19
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 265
    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 265
    Points : 19 434
    Points
    19 434
    Billets dans le blog
    63
    Par défaut
    Il s'agit d'erreurs d'écriture

    par exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DiffMinMoyenne: [Moyenne De PU]-[Min De PU]
    au lieu de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DiffMinMoyenne: Moyenne([PU])-Min([PU])
    Les champs [Moyenne De PU] et [Min De PU] ne sont pas forcément visibles dans la requête [Calcul Prix 2007-2012 par Articles IVECO].

    Seuls les champs de la requête source [Achats IVECO 2007-2012 - Calcul PU par lignes] (comme [PU]) sont sûrs d'être visibles dans la requête [Calcul Prix 2007-2012 par Articles IVECO].
    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

  20. #20
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2012
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Service public

    Informations forums :
    Inscription : Février 2012
    Messages : 61
    Points : 36
    Points
    36
    Par défaut
    ok merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Sélection d'un prix en fonction de la date la plus récente
    Par phoenix5104 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 02/06/2014, 08h45
  2. [AC-97] Formule prix Article se rapportant à un fournisseur
    Par Sebastien1977 dans le forum Access
    Réponses: 22
    Dernier message: 21/02/2012, 09h05
  3. Réponses: 9
    Dernier message: 29/11/2010, 22h05
  4. Réponses: 5
    Dernier message: 26/08/2009, 09h53
  5. Parametres Par Defaut de fonction
    Par John Daniel dans le forum MFC
    Réponses: 5
    Dernier message: 22/03/2005, 16h12

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