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

Bases de données Delphi Discussion :

Espace entre les miliers ex : 12 000


Sujet :

Bases de données Delphi

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Mai 2004
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Espace entre les miliers ex : 12 000
    Bonjour
    Je fait un programme qui extrait des nombres depuis une base Access pour les rappatriées dans des DBgrid. Mon problème est que quand ces nombres arrive dans le DBGrid il ne sont plus sous forme numéraire.
    Ex : quand les nombres arrivent -> 12000
    Ce que je souhaite-> 12 000

    Pourtant dans ma base Access les nombres sont bien sous forme numéraire.
    Merci

  2. #2
    Membre expérimenté
    Avatar de Bloon
    Homme Profil pro
    Consultant Freelance
    Inscrit en
    Avril 2002
    Messages
    467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant Freelance
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2002
    Messages : 467
    Points : 1 339
    Points
    1 339
    Par défaut
    Il faut mettre un DisplayFormat à ',0.00'. Tu peux le faire dans la liste des champs du dataset ou bien par programme, par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    procedure TForm1.Query1AfterOpen(DataSet: TDataSet);
    var
      f : TField;
    begin
      f := DataSet.FindField('LA ZONE');
      if (f is TNumericField) then
        (f as TNumericField).Displayformat := ',0.00';
    end;
    Bloon
    A lire : Les règles du club
    Delphi : La FAQ - Articles

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Mai 2004
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci de m'avoir repondue si vite.
    En fait je débute en Delphi et je voulais savoir si il était mieux d'utiliser la fonction que tu m'as donnée. Ou de mettre directement ça dans le Dataset. Parce que si je fais une fonction il faut que je la rappelle dans le DataSet? A l'endroit ou tu a mis 'La Zone' il faut que je mette le nom de mon DBGrid?
    Merci

  4. #4
    Membre expérimenté
    Avatar de Bloon
    Homme Profil pro
    Consultant Freelance
    Inscrit en
    Avril 2002
    Messages
    467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant Freelance
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2002
    Messages : 467
    Points : 1 339
    Points
    1 339
    Par défaut
    Personellement, je préfère faire le maximum de choses par le code plutôt que par les propriétés des composants, mais je ne pense pas qu'une méthode soit meilleure que l'autre.

    La fonction donnée sera appelée automatiquement si tu l'associes à l'événement AfterOpen du dataset.

    Il faut que tu remplaces LA ZONE par le nom de la zone dans la table. Tu peux aussi faire quelque chose de plus générique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    procedure TForm1.Query1AfterOpen(DataSet: TDataSet); 
    var
      i : integer;
    begin
      // Met un format d'affichage à toutes les zones numériques
      for i := 0 to DataSet.FieldCount - 1 do
      begin
        if (DataSet.Fields[i] is TNumericField) then
          (DataSet.Fields[i] as TNumericField).DisplayFormat := ',0.00';
      end;
    end;
    Pour être plus précis, tu peux remplacer TNumericField par TFloatField. Dans ce cas, seules les zones numériques à virgule flottante auront le format.

    Bloon
    A lire : Les règles du club
    Delphi : La FAQ - Articles

  5. #5
    Membre expérimenté
    Avatar de Bloon
    Homme Profil pro
    Consultant Freelance
    Inscrit en
    Avril 2002
    Messages
    467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant Freelance
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2002
    Messages : 467
    Points : 1 339
    Points
    1 339
    Par défaut
    Précision : le format ,0.00 c'est pour les nombres à virgule, s'il s'agit d'entiers, il faut mettre ,0.

    Bloon
    A lire : Les règles du club
    Delphi : La FAQ - Articles

Discussions similaires

  1. [img] Pas d'espace entre les images
    Par Mister Nono dans le forum Balisage (X)HTML et validation W3C
    Réponses: 12
    Dernier message: 09/05/2006, 17h04
  2. Menu CSS vertical, petit espace entre les images sous IE
    Par Death83 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 24/10/2005, 09h52
  3. pb d'espacement entre les frames
    Par skayro dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 26/04/2005, 11h11
  4. Elever l'espace entre les cellules
    Par bdaboah dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 20/04/2005, 14h12
  5. Espacement entre les ligne d'un tableau
    Par Flobel dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 02/11/2004, 09h33

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