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 :

PB de Numérotation


Sujet :

Requêtes et SQL.

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

    Informations forums :
    Inscription : Novembre 2008
    Messages : 11
    Points : 8
    Points
    8
    Par défaut PB de Numérotation
    Bonsoir
    Je continue ma mise en forme sur accés 2007 et je rencontre un PB sur la numérotation à savoir que je débute par 1-2009 puis 2-2009 etc.
    lorsque j'ouvre ma requête et que je demande le classement de A à Z, j'ai en position 1 le 10-2009
    puis le 11- 2009 etc alors que je devrais avoir le 1-2009.
    Y a t il une solution à mon pb.

    Merci beaucoup

    JMMMEDIA

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur VBA Access
    Inscrit en
    Avril 2006
    Messages
    1 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur VBA Access

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 109
    Points : 1 535
    Points
    1 535
    Par défaut
    Bonjour JMMEDIA,
    je pense que tu devrais définir une nomenclature pour ta numérotation.
    C'est à dire fixer le nombre de caratères de chaque partie du numéro.

    Exemple :
    Numérotation => indice sur 2 caractères + "-" + annéee sur 4 caractères
    tu obtiens : 01-2009,...,10-2009
    (en notant qu'ici : 01-2010 est plus petit que (02-2009,...,99-2009))

    ou encore :
    Numérotation => année sur 4 cacractères + "-" + indice sur 2 caractères
    de manière à obtenir : 2009-01,...,2009-10

  3. #3
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 086
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Points : 42 925
    Points
    42 925
    Par défaut
    Salut,

    Ça ressemble à un numéro d'ordre ajouté à l'année ?

    Le suivi en tant que texte va te poser problème chaque fois que tu vas ajouter une position.
    Ainsi, 2009-1 sera suivi de 2009-11 mais aussi de 2009-111.

    Si tu veux éliminer ce problème une bonne fois pour toutes, il faut changer un peu la conception de ta table et que tu aies deux champs distincts.
    Un avec le numéro d'ordre et le second avec l'année.
    Le numéro d'ordre doit être un nombre et pas un texte.

    Il te reste la possibilité de ilank, mais tu dois connaître le nombre maximum de positions que tu seras amena à utiliser.

  4. #4
    Membre expérimenté

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

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut
    Bonsoir,

    Si tout ceci se passe dans une requête, ont peut imaginer quelque chose genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Tatable.TonChamp,
     Val(Right([TonChamp],4) & Left([TonChamp],(Len([TonChamp])-5))) AS Ordre
    FROM Tatable
    ORDER BY Val(Right([TonChamp],4) & Left([TonChamp],(Len([TonChamp])-5)));
    Qu'on va simplifier par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Tatable.TonChamp
    FROM Tatable
    ORDER BY Val(Right([TonChamp],4) & Left([TonChamp],(Len([TonChamp])-5)));
    Ce qui peut convenir dans certains cas....

    Pour une plus grande fiabilité :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Tatable.TonChamp
    FROM Tatable
    ORDER BY Right([TonChamp],4), Val(Left([TonChamp],(Len([TonChamp])-5)));
    Cordialement.

  5. #5
    Expert confirmé
    Avatar de vodiem
    Homme Profil pro
    Vivre
    Inscrit en
    Avril 2006
    Messages
    2 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Vivre
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 895
    Points : 4 325
    Points
    4 325
    Par défaut
    salut francishop , Heureux-oli, ilank et bienvenu JMMMEDIA,

    si tu as conservé le champ date (type date) avant sa mise en forme (type texte) tu fais le tri dessus.

  6. #6
    Membre expérimenté

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

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 350
    Points : 1 701
    Points
    1 701
    Par défaut
    Bonsoir,

    Bon, nous sommes Dimanche et on va transgresser la règle qui veut qu'on ne réponde pas aux MP au sujet de questions techniques.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT [Détail Abonnements].Facture
    FROM [Détail Abonnements]
    ORDER BY Right([Facture],4), Val(Left([Facture],(Len([Facture])-5)));
    Par contre, il serait bien, d'indiquer aux intervenants des différents posts, la suite donnée. Il est très "frustrant" d'essayer d'aider quelqu'un et de recevoir en échange un grand vide. Si c'est résolu --> Tag résolu et un petit mot sur réussite ou non.
    http://www.developpez.net/forums/d68...access-2007-a/
    http://www.developpez.net/forums/d65...ication-table/
    http://www.developpez.net/forums/d64...bleme-centrer/
    http://www.developpez.net/forums/d63...atique-access/

    Cordialement.

    PS: He, mon pôte vodiem, regarde le dernier lien...
    Dés le premier post, Philippe avait déjà fait voir qu'on savait accueillir les arrivants.

  7. #7
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Points : 8 678
    Points
    8 678
    Par défaut
    Bonsoir,

    Et que tu avais un grand cœur @francishop



Discussions similaires

  1. Pagination : numéroter sous la forme (1/4)
    Par audreyb dans le forum SAP Crystal Reports
    Réponses: 8
    Dernier message: 01/03/2013, 11h59
  2. [XSL] numérotation de chapitres
    Par CoCoZ dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 17/08/2004, 18h52
  3. Réponses: 5
    Dernier message: 28/04/2004, 16h06
  4. [Regular Expressions] Numérotation romaine
    Par ramalho dans le forum Valider
    Réponses: 3
    Dernier message: 24/02/2004, 17h43
  5. Position des balises H2 ou comment les numéroter
    Par haypo dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 12/07/2003, 19h24

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