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 :

Petite astuce pour compléter une colonne


Sujet :

Access

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 13
    Points : 6
    Points
    6
    Par défaut Petite astuce pour compléter une colonne
    Bonjour,

    J'ai une colonne de type texte et de taille de champ 6. Je souhaite compléter les valeurs des enregistrements qui ne tiennent pas toute la taille du champ en ajoutant "+" et n "0" devant la valeur et suivant la taille de la valeur originale, afin d'obtenir une valeur qui prenne toute la taille du champ. Comment procéder?

    Merci de vos réponses.

    Grotoumou

  2. #2
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    un exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT "+" & string(6-len([MonChamp]),"0") & [MonChamp] As ChampNormalise
    FROM [MaTable]
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  3. #3
    Futur Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Ok pour la requête, mais peut on sélectionner seulement les valeurs qui ne prennent pas toute la taille du champ pour pouvoir les traiter?
    En effet, les autres sont modifiées et dépassent les 6 caractères...

  4. #4
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    essaie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT IIf(len([MonChamp])<=6, "+" & string(6-len([MonChamp]),"0") & [MonChamp], [MonChamp])  As ChampNormalise
    FROM [MaTable]
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  5. #5
    Futur Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    La bonne syntaxe pour mon cas est :SELECT IIf(len([MonChamp])<6, "+" & string(5-len([MonChamp]),"0") & [MonChamp], [MonChamp]) As ChampNormalise
    FROM [MaTable]

    Mais je n'arrive pas à la mettre sous la forme d'un UPDATE ou autre.. pour mettre à jour directement ma table.

  6. #6
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    pourtant un SQL update ... c'est pas dans ce goût là ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    UPDATE MaTable
    SET MonChamp = IIF(.....)
    WHERE Len(MonChamp) < 6
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



  7. #7
    Futur Membre du Club
    Inscrit en
    Novembre 2005
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Ca marche.

    UPDATE table SET champ = IIf(len([champ])<=6,"+" & string(5-len([champ]),"0") & [champ]) WHERE Len(champ) < 6

    dans ACCESS aucun problème, par contre dans mon requêteur SQL interne au logiciel (Pilote ODBC Access), il indique "Trop peu de paramètres. 2 attendus" ??

    merci encore cafeine


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

Discussions similaires

  1. Recherche d'une petite astuce pour faire marcher max-width sous ie6
    Par tchetchene dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 29/01/2010, 13h51
  2. pb pour selectionner une colonne
    Par 123quatre dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 25/06/2007, 11h54
  3. Macro pour traiter une colonne en relatif
    Par jacques64 dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 14/06/2007, 12h53
  4. Astuce pour récupérer une variable modifiée
    Par koopajah dans le forum XSL/XSLT/XPATH
    Réponses: 11
    Dernier message: 12/06/2007, 17h20
  5. [HTML] Pb pour inserer une colonne dans un tableau
    Par cchampion2fr dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 11/11/2006, 11h41

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