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 :

Imposer la longueur d'une chaine de caractères [AC-2016]


Sujet :

Requêtes et SQL.

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Juillet 2020
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juillet 2020
    Messages : 14
    Points : 9
    Points
    9
    Par défaut Imposer la longueur d'une chaine de caractères
    Bonjour,

    j'ai un champs alphanumérique [CODE] dans une requête. Les valeurs prises par [CODE] peuvent être sur 1 à 10 caractères.

    Pour qu'il considère comme identique le code 00003425A ou 3425A ou 000003425A, j'aimerais compléter le code en ajoutant des 0 devant la valeur existante si elle n'a pas déjà 10 caractères afin que toutes les valeurs aient exactement 10 caractères après transformation. Comment faire ?


    Merci pour votre aide.

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Simple et compacte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TaNouvelleValeur=right(10, string(10, "0") & TaValeur)
    string() crée une chaîne de caractère composée du caractère choisi pour la longueur indiquée. Ici 10 x "0".

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Juillet 2020
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juillet 2020
    Messages : 14
    Points : 9
    Points
    9
    Par défaut
    Merci morot_r.

    J'ai essayé ce que tu m'as proposé mais ca affichait 10.

    Par contre, j'ai trouvé la solution en m'inspirant de ta proposition. La ligne de code est :

    string$(10-len([CODE]), "0") & [CODE]

    Bonne journée,

  4. #4
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    oops pardon,

    Je suis entre 2 langages et je ne suis mêlé, la bonne syntaxe est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    right(string(10, "0") & TaValeur, 10)
    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Enseignant
    Inscrit en
    Juillet 2020
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juillet 2020
    Messages : 14
    Points : 9
    Points
    9
    Par défaut
    Comme ça, ca fonctionne.

    Merci

  6. #6
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Avec ta solution, le risque serait que Code fasse plus de 10 caractères ce qui créerait une erreur.
    Mais ma solution ferait une erreur silencieuse, une erreur que le système ne signale pas, … ce qui n'est pas très bien.
    Finalement ta solution est meilleur, je vais la garder dans un coin de tête.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 27/11/2010, 18h10
  2. Réponses: 3
    Dernier message: 11/10/2010, 16h54
  3. vérification de la longueur d'une chaine de caractère
    Par midodido123 dans le forum Développement de jobs
    Réponses: 3
    Dernier message: 04/08/2009, 10h24
  4. Véritable longueur d'une chaine de caractères
    Par danyII dans le forum Langage
    Réponses: 5
    Dernier message: 18/03/2008, 09h36
  5. [TRANSACT SQL] longueur d'une chaine de caractères
    Par Cyborg289 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 20/03/2007, 08h06

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