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

IHM Discussion :

Comparer 2 années dans un état [AC-2010]


Sujet :

IHM

  1. #1
    Membre régulier
    Inscrit en
    Avril 2011
    Messages
    465
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 465
    Points : 97
    Points
    97
    Par défaut Comparer 2 années dans un état
    Bonjour,

    Je m'en remet encore à vous suite à un problème.

    J'ai créé un état sous access avec plusieurs regroupements afin de pouvoir comparer la production de l'année N à celle de l'année N-1 par machine et par mois:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Machine (2 type de machine)
    ->Mois
    -->Année
    De la sorte j'ai un état ayant une distinction entre les machines, et une comparaison par mois entre l'année N et N-1.

    Jusque là tout va bien sauf que j'aimerai rajouter en dessous un delta me permettant de calculer la différence entre l'année N et N-1. Je ne sais pas si cela est possible comme dans les TCD sous Excel. Je ne sais pas si cela est possible sous Access et vous pose donc la question.

    Par avance merci!

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour,

    Je ne pense pas que ce soit possible directement.

    Je passerai par un sous-etat base sur une requete qui fait la difference qui t'interessse. En gros cela donne :

    Etat principal

    Annee N
    Annee N-1

    Sous-Etat :

    Diffrence Annee N - Annee N-1

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Membre régulier
    Inscrit en
    Avril 2011
    Messages
    465
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 465
    Points : 97
    Points
    97
    Par défaut
    Merci pour ta réponse. Je vais faire comme cela et me renseigner sur comment faire un sous-état.

    Par contre je n'arrive pas non plus à faire un total de ma production par année (sans prendre en compte le mois et la machine). Faut-il encore une fois passez par un sous état selon toi?

    D'ailleurs pour calculer les écarts étant donné que j'ai une requête présenté comme ceci:

    Année ; Mois; Machine; MQ produit; KG utilisé

    Comment ferais-tu afin d'éviter de créer un maximum de requêtes?

    J'ai bien une idée mais cela consisterait à créer une cariable (colonne) par année...

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Par contre je n'arrive pas non plus à faire un total de ma production par année
    Ajouter un regroupememnt sur l'annee dans ton etat cela devrait resoudre cela.

    me renseigner sur comment faire un sous-état.
    Un sous-etat est un etat normal qu'on a inclue dans un autre etat. Attention toute fois, un sous-etat n'affiche pas les entetes et pied de page et pour les entete d'etat et pied d'etat je ne me rappelle plus.

    Tu as un assistant qui te permet de creer ou d'integrer un sous-etat.

    Comment ferais-tu afin d'éviter de créer un maximum de requêtes?
    Je considererai la possibilite de le faire en Excel avec un tableau croise sauf qu'il faudra sans doute mettre le tableau a jour chaque annee.

    Sinon a priori j'aurai 3 requetes :

    Requette Donnees Annee N (parametre de selection de l'annee passe par un formulaire [Forms]![NomTonFormParam]![Annee])
    Requette Donnees Annee N-1 (parametre de selection de l'annee passe par un formulaire [Forms]![NomTonFormParam]![Annee] -1)
    Requette Difference Annee - Annee N-1 (parametre de selection de l'annee passe par un formulaire [Forms]![NomTonFormParam]![Annee])
    qui fait la jointure entre la Requette donnees Annee N et Annee N-1 sur machine et mois

    J'ai constate que passer le parametre des la 1ere requete meme si tu ne t'en sert pas a ce niveau la accelere le traitement de tes requetes.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  5. #5
    Membre régulier
    Inscrit en
    Avril 2011
    Messages
    465
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 465
    Points : 97
    Points
    97
    Par défaut
    Merci pour tes conseils.

    J'ai choisi de créer une requête "Séparation" afin d'avoir une varaiable "année_N_MQproduit" et une seconde variable "année_N-1_MQProduit". De cette requête j'en créais une seconde qui calcule l'écart année_N_MQproduit-année_N-1_MQProduit

    Pour la requête c'est bon.

    Dans mon état j'ai 3 regroupement, le premier par machine, le second par mois et le 3ème par année afin d'avoir un état qui ressemble à cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Machine 1
    ->Janvier
    --->2014
    --->2013
    
    ->Février
    --->2014
    --->2013
    
    Machine 2
    ->Janvier
    --->2014
    --->2013
    
    ->Février
    --->2014
    --->2013
    Je décide donc d'insérer un sous état avec l'écart sauf que visuellement j'ai ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    Machine 1
    ->Janvier
    --->2014
    ------>Ecart
    
    --->2013
    ------>Ecart
    
    
    ->Février
    --->2014
    ------>Ecart
    
    --->2013
    ------>Ecart
    
    
    Machine 2
    ->Janvier
    --->2014
    ------>Ecart
    
    --->2013
    ------>Ecart
    
    
    ->Février
    --->2014
    ------>Ecart
    
    --->2013
    ------>Ecart

    L'idéal aurait été d'avoir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Machine 1
    ->Janvier
    --->2014
    --->2013
    ------>Ecart
    
    ->Février
    --->2014
    --->2013
    ------>Ecart
    Je ne sais pas si c'est possible mais visuellement ce serait plus beau.

    Et sinon pour le grand total par année je pense être obligé de passer par un second sous état. Par contre c'est très long a charger...

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Si tu mets ton ecart dans le pied de ton groupe mois je pense que tu auras ce que tu veux :

    Entete Mois

    Detail Annee N
    Detail Annee N-1
    Total Mois : Ecart N, N-1

    Pour la vitesse de chargement voit avec la solution que je t'ai propose, ce sont 2 requettes Select on peut difficilemnt faire plus rapide.

    Ce qui coute "cher" dans les requetes ce sont les jointures. Donc si tu fais ta jointure sur moins d'enregistrement c'estt generalement plus rapide.

    La mise en page des rapports peut etre tres demandante en temps aussi surtout si tu a des gestions de rupture avec des sections a garder en 1 seul morceau.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  7. #7
    Membre régulier
    Inscrit en
    Avril 2011
    Messages
    465
    Détails du profil
    Informations forums :
    Inscription : Avril 2011
    Messages : 465
    Points : 97
    Points
    97
    Par défaut
    Je confirme que ça marche ne metant mon écart dans le pied de groupe. Pour les totaux par machine et par année je dois passer à nouveau par 2 sous états

    Encore merci!

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

Discussions similaires

  1. [CR] Orientations differentes dans même état
    Par ina dans le forum SAP Crystal Reports
    Réponses: 11
    Dernier message: 23/10/2008, 10h57
  2. Comparer les champs générés dans un état
    Par natadel dans le forum Access
    Réponses: 2
    Dernier message: 14/09/2007, 11h32
  3. Création de codes barres dans un état access
    Par caporal dans le forum IHM
    Réponses: 5
    Dernier message: 15/11/2004, 14h13
  4. Réponses: 2
    Dernier message: 13/10/2004, 15h32
  5. [CR 8.5] Numérotation des pages et rappel dans sous état
    Par Nout dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 02/09/2004, 13h43

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