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 :

Additionner des valeurs de colonnes


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    82
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 82
    Points : 45
    Points
    45
    Par défaut Additionner des valeurs de colonnes
    Hello,
    Je sèche lamentablement sur la possibilité de regrouper et additionner des valeurs de colonnes.
    Donc voilà, j'ai un tableau de données qui se présente ainsi :
    Nom : Access1.jpg
Affichages : 99
Taille : 167,2 Ko
    Dans une requête, j'aimerais pouvoir, pour chaque "SKU", faire la somme des montants des 12 mois
    D'avance, merci pour vos lumières, et bonne soirée ;-)

  2. #2
    Expert éminent
    Homme Profil pro
    Webplanneur
    Inscrit en
    Octobre 2007
    Messages
    4 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Réunion

    Informations professionnelles :
    Activité : Webplanneur

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 262
    Points : 6 561
    Points
    6 561
    Par défaut
    Salut
    Peut-être en passant par ce type de requête
    "Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
    UR - ESIROI - GPME/CG/DCG8
    QTH :21°19'18"S - 055°25'32"E
    Inutile de me contacter par MP
    Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur

  3. #3
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 670
    Points : 2 489
    Points
    2 489
    Par défaut Total par ligne
    Voici un code que j'aai déjà utilisé par le passé:

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    Sub CalculerTotalParLigne()    '(total par SKU dans votre cas)
     
        'Supposons que la table des SKU s'appelle "Table_SKU"; vous devez remplacer ce nom par le vrai nom de votre table.
        'Ouvrez votre table (appelée ici "Table_SKU") en mode création.
        'Ajoutez un champ que vous appellerez "Total_SKU", de type numérique, et de format DOUBLE.
        'Fermez la table après l'avoir enregistrée.
        'Copier tout ce code dans un nouveau module
        'Avec le curseur dans le corps du code, appuyer sur F5 pour lancer le calcul.
     
        'PS: le champ "[Total_SKU]" peut également être rajouté à une requête; auquel cas, cette procédure doit être changée en fonction
        'dépendant du SKU en cours de lecture. Mais la solution proposée ici est plus simple à gérer.
     
        On Error GoTo arret
     
        Dim db As Database
        Dim rstSKU As Recordset
        Dim totHorizontal As Double
     
        Set db = CurrentDb()
     
        Set rstSKU = db.OpenRecordset("Table_SKU", dbOpenDynaset)                'Nom de table à changer
     
        With rstSKU    'Calcul du total par ligne
            .MoveFirst
            Do While Not .EOF
                For j = 1 To 12 'Janvier occupe la position 1, ou colonne 1 (rien à voir avec le cardinal du mois)
                                'SKU occupe la position 0, ou colonne 0
                    totHorizontal = totHorizontal + Nz(.Fields(j).Value, 0)
                Next j
                .Edit
                ![Total_SKU] = totHorizontal     'Le champ "Total_SKU" doit être ajouté à votre table, au préalable
                .Update
                totHorizontal = 0
            .MoveNext
            Loop
        End With
     
    sortie:
        rstSKU.Close: Set rstSKU = Nothing
        db.Close: Set db = Nothing
        Exit Sub
     
    arret:
        MsgBox "Erreur dans le processus !; " & Err & "; " & Error
        Resume sortie
     
    End Sub

  4. #4
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    12 621
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 12 621
    Points : 56 867
    Points
    56 867
    Billets dans le blog
    40
    Par défaut
    Salut,

    Si la table est vraiment comme sur la copie d'écran :

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT SKU, SumOfJAN+SumOfFEB+ ... + SumOfNOV+SumOfDEC as Total FROM LaTable

    Certes, ce n'est pas la requête de l'année...

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/12/2018, 16h49
  2. Réponses: 12
    Dernier message: 06/04/2017, 15h50
  3. Réponses: 2
    Dernier message: 10/11/2014, 12h17
  4. Réponses: 5
    Dernier message: 29/03/2007, 16h52
  5. Récupérer l'ensemble des valeurs de colonnes
    Par maniolo dans le forum JDBC
    Réponses: 23
    Dernier message: 04/09/2006, 16h45

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