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 :

problème de calcul (DBGrid)


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Inscrit en
    Mars 2007
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 209
    Par défaut problème de calcul (DBGrid)
    bonsoir tout le monde

    Voila j'ai une table access et j'utilise delphi7, mon problème c'est que je n'arrive pas a faire une addition entre deux champs diffirent dans un DBGrid

    je crois que cette image parle bien de mon problème




    merci d'avance.

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 706
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 706
    Billets dans le blog
    65
    Par défaut
    Bonjour

    Remarques
    Un DBGrid n'est pas un Tableur, juste un afficheur
    Un problème Base de Données s'expose en donnant une description des tables nécessaires (même simplifiée) et des relations entre celles-ci

    sans ma boule de cristal je vois pas de solution

  3. #3
    Membre très actif
    Inscrit en
    Mars 2007
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 209
    Par défaut
    Merci sergio de me repondre

    voila le problème

    je veut additioner la valeur de la deuxime ligne, 4eme colonne avec la valeur de la 1ere ligne, 6eme colone

    j'ai fait


    Edit3.Text:=inttostr(ADOtable1.FieldByName('montant-pro').value+ADOTable1.FieldByName('total').value);

    dans ce cas l'addtion ce fait dans le meme enregistrement ( meme ligne du DB Grid) .
    et ce que je veux le premier enregistrement du champ('total') + le dexieme enrigistrement du champ (' montant-pro')

    merci encore

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 706
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 706
    Billets dans le blog
    65
    Par défaut
    Je répète que cela n'est pas possible !
    sauf bien sur à faire
    lecture du premier enregistrement
    stockage de la valeur de total dans une variable
    lecture du 2° enregistrement
    calcul
    soit par un SQL , soit par une procedure stockée (mais je crois pas qu'access en soit capable), soit par programme

  5. #5
    Membre éprouvé Avatar de BuzzLeclaire
    Homme Profil pro
    Dev/For/Vte/Ass
    Inscrit en
    Août 2008
    Messages
    1 606
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev/For/Vte/Ass

    Informations forums :
    Inscription : Août 2008
    Messages : 1 606
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Je répète que cela n'est pas possible !
    +1

    Par rapport à ce que tu dit (ajouter de champ numérique d'enregistrement différent) :
    Il faut que tu utilise un Stringlist dans lequel tu rangeras tes données, ensuite tu pourra utiliser une colonne pour tes calculs.

    Maintenant si ton calcul est sur le même enregistrement c'est une autre histoire.


  6. #6
    Membre très actif
    Inscrit en
    Mars 2007
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 209
    Par défaut
    Citation Envoyé par BuzzLeclaire Voir le message
    +1

    Maintenant si ton calcul est sur le même enregistrement c'est une autre histoire.

    Merci a tous

    Oui c'est le probleme le calcule est sur le meme enregistrement

    - si vous ne riez pas
    j'ai fait avec deux tables ADO:

    1ere table :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    edit1.text = inttostr(adotable1.fieldbyname('total').value);
    2eme table :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Edit2.Text:=inttostr(ADOTable1.FieldByName('montant-pro').Value);
     
    procedure TForm1.Button1Click(Sender: TObject);
    var a,b : integer;
        c : Double;
    begin
    a:=strtoint(Edit1.Text);
    b:=strtoint(Edit2.Text);
    c:= a+b;
    Edit3.Text:=floattostr(c);
     
    end;

    est ça marche

    mais je ne suis pas satisfait

    svp d'autre solution

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

Discussions similaires

  1. Problème avec un DBgrid
    Par PH69 dans le forum Bases de données
    Réponses: 5
    Dernier message: 26/07/2005, 15h51
  2. Problème de calcul matricielle
    Par Clad3 dans le forum Algorithmes et structures de données
    Réponses: 21
    Dernier message: 29/06/2005, 22h45
  3. problème de calcul des normales par sommet
    Par captainSeb dans le forum OpenGL
    Réponses: 2
    Dernier message: 21/01/2005, 14h42
  4. [Calendar]Problème de calcul de date
    Par valerie90 dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 08/12/2004, 13h13
  5. Problème de calcul unix_timestamp
    Par petit_stagiaire dans le forum Administration
    Réponses: 2
    Dernier message: 28/04/2004, 16h27

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