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

Macros Access Discussion :

Algorithme de tri et regroupement sur champ texte


Sujet :

Macros Access

  1. #1
    Membre à l'essai
    Femme Profil pro
    Contrôleur de gestion
    Inscrit en
    Août 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Contrôleur de gestion
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2008
    Messages : 9
    Points : 10
    Points
    10
    Par défaut Algorithme de tri et regroupement sur champ texte
    Bonjour,

    je suis à la recherche d'un algorithme en vba qui me permettrait de réaliser un regroupement sur un champ de type texte. J'ai une requête accees avec environ 400 lignes à trier et a parcourir pour repérer les lignes à regrouper.
    Ensuite le regroupement se ferait sur les lignes conécutives comme ci-dessous;

    Par exemple

    Champ1 Champ2
    aab0 toto
    aab1 toto
    aab2 toto
    aab3 toto
    aab4 toto
    aab5 toto
    aab6 toto
    aab7 toto
    aab8 toto
    aab9 toto

    J'aimerais me retrouver avec une ligne de ce type:

    Champ1 Champ2
    aab toto

    Merci de vos réponse et soyez indulgent s'il vous plait je pars un peu de zéro sous Access et VBA.

  2. #2
    Membre expert
    Avatar de alassanediakite
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Mali

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 1 599
    Points : 3 590
    Points
    3 590
    Billets dans le blog
    8
    Par défaut
    Salut
    Tel que je voie l'exemple, il suffit de faire...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT first(champ1), champ2 FROM latable GROUP BY champ2
    Il reste à traduire ça en requête graphique avec ACCESS.
    @+
    Le monde est trop bien programmé pour être l’œuvre du hasard…
    Mon produit pour la gestion d'école: www.logicoles.com

  3. #3
    Membre à l'essai
    Femme Profil pro
    Contrôleur de gestion
    Inscrit en
    Août 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Contrôleur de gestion
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2008
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    Bonjour

    Merci beaucoup pour ta réponse mais en fait j'ai 400 lignes dans ma table et je dois rechercher les éléments qui se suivent (aab0, aab1... jusqu'a aac9) pour les regrouper sans impact pour les autres lignes qui ne sont pas concernées. je passerais par exemple de 400 à 400-9( 10 lignes regroupés en 1e ligne) donc 391 au lieu de 400.

    Ta requête avec first marche bien dans la mesure ou je retrouve mes lignes regroupés mais les autres lignes n'apparaissent pas dans le résultat de la requête.
    Je pense qu'un algorithme de tri et regroupement serait peut-être plus adapté , mais je n'arrive pas à le mettre en place.. ou peut être une autre option de requête Access que ne ne connais pas.

    N'hésitez pas à me demander des précisions si c'est pas très clair.

  4. #4
    Membre à l'essai
    Femme Profil pro
    Contrôleur de gestion
    Inscrit en
    Août 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Contrôleur de gestion
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2008
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    De plus la ligne de regroupement doit être du type aab(pour montrer qu'elle est la ligne "mère" des 10 autres éléments:

    Champ1 Champ2
    aab0 toto
    aab1 toto
    aab2 toto
    aab3 toto
    aab4 toto
    aab5 toto
    aab6 toto
    aab7 toto
    aab8 toto
    aab9 toto
    xxx5 toto
    yxy8 toto

    donc on se retrouve après le regroupement
    champ1 champ2
    aab toto
    xxx5 toto
    yxy8 toto

    Merci de vos retours sur ce sujet vraiment urgent et bloquant pour moi..

  5. #5
    Membre éprouvé
    Inscrit en
    Août 2008
    Messages
    740
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 740
    Points : 1 045
    Points
    1 045
    Par défaut
    Pour se retrouver avec une ligne de ce type:

    Champ3 Champ2
    aab toto

    on peut creer un Champ3 qui sera un champ calcule qui reprend les 3 premiers caracteres de Champ1
    Champ3=left([Champ1],3)

    apres il est plus facile de filtrer/regrouper sur ce Champ3

Discussions similaires

  1. Erreur sur champ text pour un index Full-Text
    Par Steph82 dans le forum Outils
    Réponses: 5
    Dernier message: 06/01/2011, 14h08
  2. DISTINCT sur champ TEXT
    Par GTJuanpablo dans le forum Langage SQL
    Réponses: 1
    Dernier message: 03/03/2007, 22h41
  3. Probleme de filtre avec fonction Dlookup sur champ texte
    Par Piloupilou999 dans le forum Access
    Réponses: 5
    Dernier message: 27/01/2007, 22h41
  4. DBMemo sur champ Text erreur insert
    Par htristra dans le forum C++Builder
    Réponses: 1
    Dernier message: 02/11/2005, 15h17
  5. tri sur champ texte
    Par ridan dans le forum Langage SQL
    Réponses: 6
    Dernier message: 20/08/2004, 16h28

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