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

Access Discussion :

Prendre les 3 derniers caractères


Sujet :

Access

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 86
    Points : 85
    Points
    85
    Par défaut Prendre les 3 derniers caractères
    J'expose mon problème :
    Dans l'entreprise ou je travail actuellement (stage), leur système de numérotation est le suivant : [Année en cours] + [Nombre a incrementer].
    Autrement dit : 98001 été le premier nombre, la nous en sommes a 06074.
    Je voudrai donc savoir si il existe une fonction SQL/Access qui me permettrai de classer les 3 derniers caractères, autrement dit, fais un ORDER BY uniquement sur la partie [Nombre a incrementer]

  2. #2
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 88
    Points : 63
    Points
    63
    Par défaut
    tu peux extraire dans avec une requête les trois derniers éléments et ensuite les trier par cette colonne (voir fonctions de manipulation des chaines de charactères)

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 20
    Points : 23
    Points
    23
    Par défaut
    Bonjour,

    Essaye une requete du style

    Select RIGTH(IDENTIFIANT,3) as mon_identifiant FROM TABLE order by mon_identifiant

    Citation Envoyé par Boolean69
    J'expose mon problème :
    Dans l'entreprise ou je travail actuellement (stage), leur système de numérotation est le suivant : [Année en cours] + [Nombre a incrementer].
    Autrement dit : 98001 été le premier nombre, la nous en sommes a 06074.
    Je voudrai donc savoir si il existe une fonction SQL/Access qui me permettrai de classer les 3 derniers caractères, autrement dit, fais un ORDER BY uniquement sur la partie [Nombre a incrementer]

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 168
    Points : 196
    Points
    196
    Par défaut
    Oui je pense en ajoutant un champ calculé dans ta requete du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Select..., right([ton_champ],3) AS compteur
    From...
    Order By compteur
    Enfin en theorie... ++

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 86
    Points : 85
    Points
    85
    Par défaut
    J'essai ça, je vous dit ce qui ce passe

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 86
    Points : 85
    Points
    85
    Par défaut
    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sqlT1 = "SELECT RIGHT(NumeroProjet,3) as numero FROM Projets ORDER BY numero DESC;"
    Set rsT1 = CurrentDb.OpenRecordset(sqlT1)
    Voici la reponse de VB :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Trop peu de paramètres. 1 attendu.
    VB Bloque sur la ligne Set rsT1....

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 168
    Points : 196
    Points
    196
    Par défaut
    Essaye ta requete dans l editeur sql d acces directement pour voir ce que ca
    te retourne .
    A+

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 86
    Points : 85
    Points
    85
    Par défaut
    Dans l'éditeur, une inputbox s'ouvre et me demande "numero", si je rentre un nombre, ou rien du tout, il me retourne des valeurs ne correspondant pas à ce qu'il me faudrai

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    86
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 86
    Points : 85
    Points
    85
    Par défaut
    Je viens de trouver l'erreur...
    Etant donnée que le SELECT est executer en dernier dans du SQL, le ORDER BY ne connais pas encore "numero", il falais donc que je fasse :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT RIGHT([NumeroProjet],3) AS numero
    FROM Projets
    ORDER BY RIGHT([NumeroProjet],3) DESC;
    Merci tout de même pour la fonction

  10. #10
    Membre actif Avatar de moicats
    Inscrit en
    Mars 2006
    Messages
    299
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 299
    Points : 200
    Points
    200
    Par défaut
    salut,

    Citation Envoyé par Boolean69
    une inputbox s'ouvre et me demande "numero",
    essaye comme ça peut etre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sqlT1 = "SELECT RIGHT(NumeroProjet,3) as numero FROM Projets ORDER BY RIGHT(NumeroProjet,3) DESC;"
    Set rsT1 = CurrentDb.OpenRecordset(sqlT1)
    bon courage
    a+

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

Discussions similaires

  1. lire les 3 dernier caractère d'une chaine
    Par kanzarih dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 15/05/2008, 15h25
  2. choper les deux derniers caractères d'une variable
    Par Mangacker dans le forum C++Builder
    Réponses: 12
    Dernier message: 14/11/2007, 19h08
  3. prendre les 2 derniers car d'un AnsiString
    Par Mangacker dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 14/11/2007, 18h18
  4. Effacer les X dernier caractère d'une chaîne
    Par Altrensa dans le forum Excel
    Réponses: 4
    Dernier message: 17/07/2007, 11h03
  5. Réponses: 15
    Dernier message: 28/02/2007, 10h00

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