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 :

FORMAT dans Requette calculée


Sujet :

Requêtes et SQL.

  1. #1
    Futur Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2019
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 14
    Points : 9
    Points
    9
    Par défaut FORMAT dans Requette calculée
    Bonjour,

    Dans la requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT (SELECT COUNT(Ingrédient) FROM TabIngrédient AS TabIngrédient_Alias  WHERE  TabIngrédient_Alias.Ingrédient <  TabIngrédient.Ingrédient)+1 AS Ordre, TabIngrédient.Ingrédient, TabIngrédient.N°
    FROM TabIngrédient
    ORDER BY TabIngrédient.Ingrédient;
    Je souhaiterai que le champ Ordre ai toujours la même longueur, par ex. 006, c-à-d préfixé par des 0.

    L'instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Format(myField, "0000") FROM ...
    le permet.

    Je ne sais pas comment l'intégrer dans ma requête.

    Merci de votre réponse.

    AP

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 635
    Points : 14 606
    Points
    14 606
    Par défaut
    bonsoir,
    L'instruction


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT Format(myField, "0000") FROM ...
    le permet.

    Je ne sais pas comment l'intégrer dans ma requête
    parfois, il suffit simplement de se lancer et d'essayer ...
    Cela étant dit, comme le champ Ordre est utilisé uniquement dans le WHERE, où est l'intérêt de formater ?
    Quand on est derrière l'écran on n'a aucun clavier sous les mains ...
    ah non ? donc devant l'écran c'est la connectique ?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2019
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Juin 2019
    Messages : 14
    Points : 9
    Points
    9
    Par défaut
    Bonjour,

    Citation Envoyé par tee_grandbois Voir le message
    bonsoir,
    parfois, il suffit simplement de se lancer et d'essayer ...
    Cela étant dit, comme le champ Ordre est utilisé uniquement dans le WHERE, où est l'intérêt de formater ?
    C'est une volonté d'affichage.

    En essayant toujours et encore, et avec un peu de chance, j'ai proposé à Access
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT FORMAT (PreOrdre, "00"), Nature, N° FROM (
    SELECT (SELECT  COUNT(Nature)   FROM TabNature AS TabNature_Alias  WHERE  TabNature_Alias.Nature <  TabNature.Nature)+1 AS PreOrdre, TabNature.Nature, TabNature.N°
    FROM TabNature
    ORDER BY TabNature.Nature);
    Il me rend
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Format(PreOrdre,"00") AS Expr1, [%$##@_Alias].Nature, [%$##@_Alias].N°
    FROM (SELECT (SELECT  COUNT(Nature)   FROM TabNature AS TabNature_Alias  WHERE  TabNature_Alias.Nature <  TabNature.Nature)+1 AS PreOrdre, TabNature.Nature, TabNature.N°
    FROM TabNature
    ORDER BY TabNature.Nature)  AS [%$##@_Alias];
    En rendant cela plus lisible
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Format(PreOrdre,"00") AS Ordre, [MaRequête].Nature, [MaRequête].N°
    FROM (SELECT (SELECT  COUNT(Nature)   FROM TabNature AS TabNature_Alias  WHERE  TabNature_Alias.Nature <  TabNature.Nature)+1 AS PreOrdre, TabNature.Nature, TabNature.N°
    FROM TabNature
    ORDER BY TabNature.Nature)  AS [MaRequête];
    Cette requête me rend bien "05,plat_principal,2".

    Mais dans la zone de texte du formulaire j'ai toujours affiché 5 sans le 0 devant.

    Explication, à mon avis, Ordre est toujours un nombre, donc 0 non significatif.

    La solution : garder la requête d'origine et mettre 00 dans la propriété Format de l'onglet Format de la zone de texte, la toute première en haut.

    C'est simple. Et j'ai appris quelque chose !

    Merci de votre participation

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

Discussions similaires

  1. Texte formaté dans RichEdit & DBRichEdit
    Par dem dans le forum Bases de données
    Réponses: 6
    Dernier message: 16/03/2021, 20h05
  2. [Vxi3] Format dans un calcul
    Par Christophe29 dans le forum Webi
    Réponses: 2
    Dernier message: 23/06/2010, 09h47
  3. [AC-2007] Format dans champ calculé
    Par Nounours1 dans le forum VBA Access
    Réponses: 5
    Dernier message: 28/03/2010, 22h03
  4. Problème dans le calcul des normales moyennes,
    Par MaxPayne dans le forum OpenGL
    Réponses: 1
    Dernier message: 12/04/2005, 17h50
  5. Format dans un TLabel
    Par AnneOlga dans le forum C++Builder
    Réponses: 3
    Dernier message: 24/03/2004, 11h53

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