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 :

Changement dans État selon des Paramètres de la Requête Analyse Croisée [AC-2013]


Sujet :

Access

  1. #21
    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
    tout marche nickel Didier,

    une autre question: comme tu voyais dans ma base de données, j'ai trois autres État, si je veux faire la même choses, je me dois de créer 3 autres module semblable à ce que tu as fais? ou bien je peut utilisé le même module? ma logique dis que non je devrait faire des module différent, tout en copiant le module et changé les nom d'étiquettes et champs et aussi changer le nom de la requête exact ?

    merci encore
    Office 365 Famille
    J'adore Access, mais j'aimerais bien maîtriser le VBA

  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
    Salut Didier,

    je cherche le comprendre ton code, pourrais-tu m'expliquer

    voici le code:
    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
    Private Sub Report_Open(Cancel As Integer)
    Dim vsAnnee As Integer
        vsAnnee = Me.OpenArgs
        Et_Champ1.Caption = vsAnnee 'Libellé de l'étiquette 2014
        Et_Champ2.Caption = vsAnnee + 1  'Libellé de l'étiquette 2015
        Champ1.ControlSource = "=[" & vsAnnee & "]"  '[2014] dans ton exemple
        Champ2.ControlSource = "=[" & vsAnnee + 1 & "]"  '[2015] dans ton exemple
        Champ3.ControlSource = "=[" & vsAnnee + 1 & "]-[" & vsAnnee & "]"   '=[2015]-[2014] dans ton exemple
        TotalP1.ControlSource = "=sum([" & vsAnnee & "])"
        TotalP2.ControlSource = "=sum([" & vsAnnee + 1 & "])"
        GrandTotal1.ControlSource = "=sum([" & vsAnnee & "])"
        GrandTotal2.ControlSource = "=sum([" & vsAnnee + 1 & "])"
        TotalGeneral1.ControlSource = "=sum([" & vsAnnee & "])"
        TotalGeneral2.ControlSource = "=sum([" & vsAnnee + 1 & "])"
    End Sub
    je vois plein de vsAnnee et de vsAnnée + 1 dans lecode je crois deviner le pourquoi, mais si je veux avoir un comparatif mettons 2013 vs 2015 c'est pour cela que ca ne marche pas hein ? (Pas grave) je veux juste savoir.

    je cherche juste a savoir la logique du vsAnnee pourrais-tu m'expliquer stp...

    merci!
    Office 365 Famille
    J'adore Access, mais j'aimerais bien maîtriser le VBA

  3. #23
    Membre éclairé
    Avatar de Didier L
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2004
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 503
    Points : 806
    Points
    806
    Par défaut
    Très bien
    Penses au Tag "Résolu"

    Merci
    @+


    Pensez au tag

  4. #24
    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
    Didier,

    j'aimerais comprendre, à date j'ai réussi pour mon 2iem État, parceque juste un changement dans la 1-requête, mais maintenant j'aimerais le faire pour ma 3-Requête Comparatif Mois Dollars, et la je sens que je ne pourrai pas me servir du même module, c'est pourquoi j'aimerais que tu m'explique les vsAnnee?

    afin que je puisse apprendre!

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

  5. #25
    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
    Oufffff, compliquer avec mon État Comparatif Mois Dollars, et aussi État Comparatif Trimestre Dollars.

    Dans mes deux requête j'ai les champs suivant:
    TRIMESTRE
    1- Nom Concession (En tête de ligne)
    2- IDProduits (En tête de ligne)
    3- IDSProduits (En tête de ligne)
    4- Année: Année([RemiseDate]) (En tête de ligne)
    5- Format([RemiseDate];"t") (En tête de colonnes) cela veut dire qu'il me créer 4 colonnes puisque c'est pour trimestre (faudrais que je créer Et_Champs1, 2, 3 et 4 ?)
    6- Ventes: Montants (Valeur)
    7- AAD: Somme([Ventes]) (En tête de ligne)
    8- RemiseDate (Where)

    Mois
    1- Nom Concession (En tête de ligne)
    2- IDProduits (En tête de ligne)
    3- IDSProduits (En tête de ligne)
    4- Année: Année([RemiseDate]) (En tête de ligne)
    5- Format([RemiseDate];"t") (En tête de colonnes) cela veut dire qu'il me créer 12 colonnes puisque c'est pour mois (faudrais que je créer Et_Champs1, 2, 3, 4, ...12 ?)
    6- Ventes: Montants (Valeur)
    7- AAD: Somme([Ventes]) (En tête de ligne)
    8- RemiseDate (Where)

    la ou je suis vraiment embêté c'est mes champs 4 et 7 ?
    Compliquer un ti-brin hein?
    Office 365 Famille
    J'adore Access, mais j'aimerais bien maîtriser le VBA

  6. #26
    Membre éclairé
    Avatar de Didier L
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2004
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 503
    Points : 806
    Points
    806
    Par défaut
    Bonjour,

    je vois plein de vsAnnee et de vsAnnée + 1 dans lecode je crois deviner le pourquoi, mais si je veux avoir un comparatif mettons 2013 vs 2015 c'est pour cela que ca ne marche pas hein ? (Pas grave) je veux juste savoir.

    je cherche juste a savoir la logique du vsAnnee pourrais-tu m'expliquer stp...
    Comme depuis le début tu dis vouloir comparer deux années consécutive ( ou du moins c'est ce que j'ai compris), 2014 vs 2015 et que cela marche tout seul pour les autres années, j'en ai déduit, 2015 vs 2016, etc ..
    Donc seul la première année était suffisante à passer en paramètre.
    Paramètre que je stocke dans la variable vsAnnee qui récupère donc 2014 dans ton exemple, et ensuite il suffit de lui rajouter 1 pour obtenir 2015 et ainsi changer mes libellés et mes formules.

    Mais cela ne fonctionne plus si les années ne sont pas consécutives (2103 vs 2015)
    Dans ce cas, il faut passer en paramètre les deux années, séparées par un ";"
    place donc sur ton bouton de lancement de ton état le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        DoCmd.OpenReport "1- Requête Comparatif Année Dollars", acViewPreview, , , , Format(RecupDate(1), "yyyy") & ";" & Format(RecupDate(3), "yyyy")
    Ensuite dans l'ouverture de ton état, il faut récupérer ces deux années dans un tableau afin de mettre les bons libellé et les bonnes formules.
    La fonction Split permet de séparer les valeurs et de les ranger dans un tableau
    Utilise alors le code suivant:
    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
    Private Sub Report_Open(Cancel As Integer)
    Dim vsAnnee() As String
        vsAnnee = Split(Me.OpenArgs, ";")
        Et_Champ1.Caption = vsAnnee(0) 'Libellé de l'étiquette 2014
        Et_Champ2.Caption = vsAnnee(1)  'Libellé de l'étiquette 2015
        Champ1.ControlSource = "=[" & vsAnnee(0) & "]"  '[2014] dans ton exemple
        Champ2.ControlSource = "=[" & vsAnnee(1) & "]"  '[2015] dans ton exemple
        Champ3.ControlSource = "=[" & vsAnnee(1) & "]-[" & vsAnnee(0) & "]"   '=[2015]-[2014] dans ton exemple
        TotalP1.ControlSource = "=sum([" & vsAnnee(0) & "])"
        TotalP2.ControlSource = "=sum([" & vsAnnee(1) & "])"
        GrandTotal1.ControlSource = "=sum([" & vsAnnee(0) & "])"
        GrandTotal2.ControlSource = "=sum([" & vsAnnee(1) & "])"
        TotalGeneral1.ControlSource = "=sum([" & vsAnnee(0) & "])"
        TotalGeneral2.ControlSource = "=sum([" & vsAnnee(1) & "])"
    End Sub
    Ensuite pour les trimestres, et les mois, tu n'a pas besoin de faire tout cela, car dans tous les cas tu as toujours 4 colonnes, pour les trimestres, Trim 1, Trim 2, Trim 3 et Trim 4, et que pour les mois tu as effectivement toujours 12 colonnes de 01 à 12, quelque soit tes dates
    @+


    Pensez au tag

  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
    Ok Didier, je vais essayer celà et je vais te dire si tout marche. merci de ta patience.

    j'aimerais bien suivre un cours VBA en ligne, as-tu des endroits a me suggéré ?
    Office 365 Famille
    J'adore Access, mais j'aimerais bien maîtriser le VBA

  8. #28
    Membre éclairé
    Avatar de Didier L
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2004
    Messages
    503
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 503
    Points : 806
    Points
    806
    Par défaut
    Non,

    Désolé je ne connais pas bien ce genre de site
    Je suis de la vieille école
    Connais tu un autre langage ?
    @+


    Pensez au tag

  9. #29
    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
    Merci Didier,

    tout marche bien!
    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. Réponses: 9
    Dernier message: 22/06/2011, 10h05
  2. Réponses: 11
    Dernier message: 29/05/2008, 16h26
  3. Réponses: 2
    Dernier message: 04/07/2007, 20h33
  4. Calcul entre 2 dates selon des paramètres
    Par jibileg dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 10/05/2007, 12h48

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