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

VBA Access Discussion :

Fonction group by à l'envers [AC-2010]


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Fonction group by à l'envers
    Bonjour à tous
    J'ai un problème simple mais je ne trouve pas la solution...
    J'ai une table avec 2 champs. 1 champ texte avec un numéro d'article et un champ numérique entier avec une quantité.
    Les données se présentent comme ceci:
    article X, quantité 5
    article Y quantité 8
    article Z quantité 2, etc.
    Chaque numéro d'article est unique. je veux obtenir une liste qui me donne autant de lignes qu'il y a de quantité par article, donc en fait un group by à l'envers.
    Pour l'article x, je veux voir 5 lignes, pour l'article Y je veux 8 lignes et pour l'article Z, 2 lignes.
    Quelqu'un aurait-il un petit code pour faire cela?
    Merci beaucoup à vous tous
    Serge

  2. #2
    Membre éclairé Avatar de pyloupylou
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2012
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2012
    Messages : 438
    Points : 666
    Points
    666
    Par défaut
    je te conseille de lire http://access.developpez.com/sql/

    sinon order by <rubrique> desc
    ----
    Il ne s'agit pas de chercher à tout savoir mais de savoir où tout chercher

    merci de penser à
    Au fait.... je ne réponds pas, moi non plus, aux mp

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par pyloupylou Voir le message
    je te conseille de lire http://access.developpez.com/sql/

    sinon order by <rubrique> desc
    Bonjour

    Désolé, mais je ne vois toujours pas comment faire, je ne suis pas certain d'avoir bien formulé la question
    Je ne veux pas faire un group by ou un tri, je ne veux que les lignes avec une quantité "1" et autant de lignes par articles qu'il y a d'articles dans la table source...

    Merci quand même ;-)

    Serge

  4. #4
    pgz
    pgz est déconnecté
    Expert éminent Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Points : 6 591
    Points
    6 591
    Par défaut
    Bonjour.

    Je ne crois pas que tu puisses obtenir cela avec une requête. Par contre, tu peux faire une requête simple et l'exploiter pour créer une nouvelle table avec n enregistrements pour chaque article, n étant la quantité. Si ce n'est pas d'une table dont tu as besoin, tu peux faire la même chose dans un tableau.

    De ces façons, y a-t-il qqc que tu ne saches pas faire ?

    Cordialement,

    PGZ
    pluritas non est ponenda sine necessitate - Le rasoir d'Okham
    Ne jamais attribuer à la malignité ce que la stupidité peut expliquer -Le rasoir d'Hanlon

  5. #5
    Membre éclairé Avatar de pyloupylou
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2012
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2012
    Messages : 438
    Points : 666
    Points
    666
    Par défaut
    désolé j'avais lu trop vite.... comme pgz, je ne pense pas que tu puisses le faire directement en sql ....sauf à faire une horrible bidouille

    du style
    - tu te crées une table temporaire ( tempo) avec un seul champ numérique ou tu crées autant d'occurrences que nécessaire du style :
    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
     
    Sub cresequence()
        Call cretable("temp", 1000)
    End Sub
    '
    ' création de la table temporaire
    '
    Function cretable(nomtable as string, limite As Integer)
    Dim i As Integer
    Dim rs As Recordset
    On Error Resume Next
    ' on détruit si la table existe 
    DoCmd.DeleteObject acTable, nomtable
    With CurrentDb
        .Execute ("create table " & nomtable & " (numero number)")
        Set rs = .OpenRecordset(nomtable)
        For i = 1 To limite
                rs.AddNew
                rs![numero] = i
                rs.Update
         Next
    End With
    rs.Close
    Set rs = Nothing
    End Function
    ensuite ton sql pour la requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    select article, 1 as qte  from
    (
    SELECT Tatable.article,tatable.quantite, temp.numero
    FROM tatable,  temp ) z
    where quantite <= combien order by article
    ----
    Il ne s'agit pas de chercher à tout savoir mais de savoir où tout chercher

    merci de penser à
    Au fait.... je ne réponds pas, moi non plus, aux mp

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2010
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    OK merci beaucoup pour les info's

    A+

    Serge

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

Discussions similaires

  1. fonction group by
    Par kaayna dans le forum Langage SQL
    Réponses: 1
    Dernier message: 15/04/2010, 11h03
  2. Fonction Group absente
    Par DeNantes dans le forum iReport
    Réponses: 6
    Dernier message: 25/02/2009, 21h30
  3. fonction group by
    Par aurelie83 dans le forum SQL
    Réponses: 2
    Dernier message: 01/10/2007, 14h18
  4. Saut de page et fonction Group BY
    Par ramoucho17 dans le forum iReport
    Réponses: 1
    Dernier message: 11/10/2006, 10h36
  5. Fonction Group By
    Par Infomax7 dans le forum Informix
    Réponses: 19
    Dernier message: 27/05/2006, 12h35

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