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 :

Selection données et concaténation


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Profil pro
    consultant
    Inscrit en
    Mai 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : consultant

    Informations forums :
    Inscription : Mai 2008
    Messages : 8
    Points : 7
    Points
    7
    Par défaut Selection données et concaténation
    Bonjour,

    Je travaille actuellement sur une base de données access qui se présente de la façon suivante, sachant que les données présentes dans la colonne "Valeur de grille" sont celles que je souhaiterais obtenir (celles présentes le sont à titre d'exemple) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Article       Valeur 1           Valeur 2            Valeur de grille 
    62951         B                     1                     B / 1-3
    62951         B                     2                     B / 1-3
    62951         B                     3                     B / 1-3
    62951         C                     1                     C / 1-2
    62951         C                     2                     C / 1-2
    65432                                1                     1-2
    65432                                2                     1-2
    Je voudrais donc calculer de façon automatique la "Valeur de grille" , cad que pour chaque référence article, et pour chaque "Valeur 1" (si existante), effectuer une concaténation de "Valeur 1" suivi de la valeur minimale et de la valeur maximale de "Valeur 2".

    J'ai commencé à chercher mais j'avoue avoir du mal à maitriser VBA sous access. Existe t il un tutoriel sur ce point précis?

    En vous remerciant d'avance,

    Banzaiman

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 399
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 399
    Points : 2 221
    Points
    2 221
    Par défaut
    bonjour,

    j'ai une solution en 2 requetes :
    première nommée <RqGroupeMinMax> :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    SELECT
     Article,
     [Valeur 1],
     MIN([Valeur 2]) AS [MIN],
     MAX([Valeur 2]) AS [MAX],
     [valeur 1] & " / " & [MIN] & " - " & [MAX] AS val
    FROM
     MesValeurs AS T
    GROUP BY
     Article,
     [Valeur 1];
    la seconde qui se sert de la première et que l'on appelle pour avoir la solution :
    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
     
    SELECT
     T.Article,
     T.[Valeur 1],
     T.[Valeur 2],
     R.val
    FROM
     MesValeurs AS T
    INNER JOIN
     RqGroupeMinMax AS R
     ON
      T.Article = R.Article
    WHERE
     T.[Valeur 1]=[R].[valeur 1] 
     OR 
     T.[Valeur 1] IS NULL;
    sauf erreur...

    Philippe

  3. #3
    Futur Membre du Club
    Profil pro
    consultant
    Inscrit en
    Mai 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : consultant

    Informations forums :
    Inscription : Mai 2008
    Messages : 8
    Points : 7
    Points
    7
    Par défaut RE: Concaténation de données
    Merci Philippe

    J'ai testé et ça marche parfaitement.

    En fait je me suis trop focalisé sur le VBA alors que j'étais capable de le faire sur access. Par contre j'aimerais savoir s'il est possible de paramétrer la valeur "val" au niveau de la présentation.

    En effet, la concaténation est fixe (le "/" est toujours présent), or en cas d'absence de la valeur 1 (ex: "B"), j'ai par exemple comme valeur en "val": / 8-10. J'aimerais donc établir une forme de condition pr faire disparaitre le /

    Est ce je peux le faire directement dans le champ val ou dois je créer un autre champ val et ensuite effectuer un regroupement des données via une requête union

    Merci d'avance

    Banzaiman

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 399
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 399
    Points : 2 221
    Points
    2 221
    Par défaut
    bonjour,

    essayer ceci pour le champ val :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ...
    IIf([valeur 1]," / ","") & [min] & " - " & [max] AS val
    ...
    Philippe

    correction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    IIf([valeur 1],[Valeur 1] & " / ","") & [min] & " - " & [max] AS val

  5. #5
    Futur Membre du Club
    Profil pro
    consultant
    Inscrit en
    Mai 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : consultant

    Informations forums :
    Inscription : Mai 2008
    Messages : 8
    Points : 7
    Points
    7
    Par défaut RE: Concaténation de données
    Ok, merci

    Par contre, pourquoi n'avoir pas rajouté après le IIf "Is not null" comme suivant :

    IIf(Is not null([valeur 1]), [Valeur 1] & " / ","") & [min] & " - " & [max] AS val

    Est ce que ça revient au même?

    C'est juste histoire de bien comprendre

    Merci d'avance

  6. #6
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 399
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 399
    Points : 2 221
    Points
    2 221
    Par défaut
    bonjour,

    a priori c'est pareil :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    IIf([valeur 1] Is Null,"",[Valeur 1] & " / ") & [min] & " - " & [max] AS val
    Philippe

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 20/02/2015, 09h25
  2. [XL-2010] Selection données filtre en fonction d'une colonne
    Par backx3 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 16/02/2015, 15h48
  3. Requete SELECT avec résultat concaténé
    Par DrakkoFR dans le forum Langage SQL
    Réponses: 4
    Dernier message: 30/08/2006, 16h34
  4. [MySQL] SELECT données + COUNT
    Par Girzi dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 29/06/2006, 11h57
  5. Concaténation de 2 select en 1 seul
    Par Fleep dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 08/08/2003, 11h38

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