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

VB.NET Discussion :

Fonction Format() et syntaxe de Format


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2011
    Messages : 70
    Par défaut Fonction Format() et syntaxe de Format
    Bonjour,

    Je cherche actuellement à formater une chaine pour la rentrer dans ma base de donnée. Cette chaîne contient un nombre de mois (0, 1, 2, ...)
    Ce que j'aimerais, c'est pouvoir mettre un 0 avant le nombre si celui-ci est inférieur à 10 (01, 02, 03, ...)

    J'ai donc essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Format(Me.TB_DUREETOP.Text, "00")
    Format(Me.TB_DUREETOP.Text, "##")
    J'ai tenté aussi avec un .ToString, un .Format, au final, j'obtiens pas le resultat souhaité
    J'admet ne rien saisir à la définition des format (j'ai le même problèmes sur les Regex Mais ce n'est pas le sujet).

    Mon problèmes c'est que je n'arrive pas à faire le parallèle entre la chaîne de sortie et le format, dans presque tous les exemples, je ne vois pas le lien
    Ca irait surement mieux quand je verrai la correspondance entre ces éléments

    Certains d'entre vous peut-être sauront m'aiguiller ou connaissent un Tuto vraiment simple ? (Celui de Plassere est bien, mais aller savoir pourquoi, je n'arrive à rien avec sur le peu que je comprend )

  2. #2
    Membre Expert
    Avatar de GuruuMeditation
    Homme Profil pro
    .Net Architect
    Inscrit en
    Octobre 2010
    Messages
    1 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2010
    Messages : 1 705
    Par défaut
    Tu peux faire TB_DUREETOP.ToString("00")

  3. #3
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2011
    Messages : 70
    Par défaut
    Merci de ta réponse, mais déjà testé, ça me lève une exception du type InvalidCastException.
    System.String en System.IFormatProvider

    J'ai tenté cela aussi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String.Format("{0:D2}", Me.TB_DUREETOP.Text)
    (sans vraiment comprendre, juste une reprise du cours de Plassere)
    Toujours un seul chiffre dans la base, au moins ça le prend en compte

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 194
    Par défaut
    dans ta base de donner c'est un string?

  5. #5
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2011
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2011
    Messages : 70
    Par défaut
    A la base j'avais un int, que j'ai vite remplacé par un char(10), avant d'y mettre un nvarchar(10), normalement, ça passe correctement avec ce type de donnée, non?

    Et dans ma requête, j'entoure la valeur obtenu via le Format par des apostrophes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "duree_top = '" & ConvSQL(String.Format("{0:D2}", Trim(Me.TB_DUREETOP.Text))) & "' "
    PS: Je deviens violent quand on me parle de requête paramêtrée, même si je sais que la concaténation c'est pas bien, au moins, je sais m'en servir :p

  6. #6
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Février 2003
    Messages
    2 194
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2003
    Messages : 2 194
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "duree_top = '" & Me.TB_DUREETOP.Text.Trim().ToString("00") & "' "
    et met un watch sur Me.TB_DUREETOP.Text.Trim().ToString("00")

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

Discussions similaires

  1. Fonction Format : mauvaise syntaxe ou inutilisable ?
    Par sebnantes dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 25/03/2010, 14h57
  2. [AC-97] Fonction TransférerTexte - où est le format ?
    Par jehhej dans le forum Modélisation
    Réponses: 3
    Dernier message: 02/10/2009, 13h01
  3. [VBA]fonction pour copier valeur ET format
    Par daniel_gre dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 07/08/2008, 00h00
  4. Fonction pour charger une chaine formaté
    Par dxdiag dans le forum Débuter
    Réponses: 5
    Dernier message: 08/02/2008, 21h35
  5. formater un nombre en format "monétaire"
    Par jm6570 dans le forum Access
    Réponses: 2
    Dernier message: 14/09/2005, 10h06

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