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 :

champ calculé ds un dbgrid


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Janvier 2003
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 118
    Par défaut champ calculé ds un dbgrid
    bonjour a tous
    j'ai un dbgrid lier a une table, j'ai ajouté un champ calculé a la fin je n'arrive pas a affecter des donnée a se champ
    le code est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    x:=strtoint(copy(dm.TFigDATDEBPV.value,1,2))+strtoint(dm.tfigtotmenspv.value);
    edit8.Text:=inttostr((x div 12)+strtoint(copy(dm.TFigDATDEBPV.value,3,4)));
    edit9.Text:=inttostr((x mod 12)+1);
    dbgrid1.Fields[6].AsString:=edit9.Text+edit8.text;
    merci d'avance.

    Balises code ajoutés par Harry

  2. #2
    Membre éprouvé
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Par défaut
    Salut

    Met ton code à l'aidre de la balise CODE, pour que ce soit plus lisible.

    Sinon j'imagine que ce source est dans l'évènement OnCalcField. Si ce n'est pas le cas, c'est là que l'on alimente les champs calculé.

    Ensuite,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dbgrid1.Fields[6].AsString:=edit9.Text+edit8.text;
    est à proscrire, car tu ne maitrises pas vraiment le champs que tu veux modifier.
    Mieux vaut utiliser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MaTable.FieldByName( 'MonChampCalculé' ).AsString := MaChaine;
    essaye avec ces conseils déjà

    Nota: je ne comprend pas très bien d'ailleurs, à quoi servent les Edits, au lieu de chaines temporaires.
    Vu que les Edit seront modifiés au gré du recalcul des lignes de la grille, sans réelle maitrise du choix de la ligne.
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2003
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 118
    Par défaut merci
    mais le champ n'existe pas ds ma table c'est un champ virtuel c'est pour ca que j'ai mis
    dbgrid1.filds[6].asstring
    merci

  4. #4
    Membre éprouvé
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Par défaut
    sur le forum c'est mieux

    Un champs calculé, même s'il n'est pas parti intégrante de ta table, et que tu l'appelles 'virtuel' est quand même à définir au niveau de ton DataSet.

    Dans la liste des champs de ton Dataset, click-droit/ nouveau -> et là tu définis ton champs calculé (type, taille et... 'Calculé'... pas 'Data')

    La grille ne contient aucune donnée, mais se contente d'afficher les champs et lignes du DataSet.

    L'alimentation de ton nouveau champs se fait de manière dynamique ensuite tel que je te l'ai décrit
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  5. #5
    Membre confirmé
    Inscrit en
    Janvier 2003
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 118
    Par défaut merci
    merci beaucoup c'est resolu

  6. #6
    Membre confirmé
    Inscrit en
    Janvier 2003
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 118
    Par défaut
    et je peut poster ou non

Discussions similaires

  1. Trier un DBgrid par champs calculé
    Par Chayanne47 dans le forum Bases de données
    Réponses: 7
    Dernier message: 08/10/2012, 10h19
  2. champ calculé des colonnes d'un dbgrid
    Par redoran dans le forum Bases de données
    Réponses: 1
    Dernier message: 10/11/2010, 10h21
  3. Tri sur une colonne d'un champs calculé DBGRID
    Par BuzzLeclaire dans le forum Bases de données
    Réponses: 13
    Dernier message: 18/02/2009, 16h13
  4. Défilement d'une DbGrid et champs calculés
    Par tomy29 dans le forum Bases de données
    Réponses: 18
    Dernier message: 28/02/2007, 11h50
  5. trier un champ calculé dans une dbgrid
    Par blackbird_dream dans le forum Bases de données
    Réponses: 2
    Dernier message: 21/06/2006, 15h47

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