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 :

aditionner les champs d'une table ligne par ligne


Sujet :

Bases de données Delphi

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 160
    Par défaut aditionner les champs d'une table ligne par ligne
    Bonjour

    J'ai une table contenant deux colonnes affiché par un dbgrid.

    La première contient des chiffres et la deuxième doit être la même que la première mais en additionnant la ligne précédente.

    Je n'arrive pas à faire en sorte cette incrémentation.

    100 100
    200 300
    -50 250
    ...

    Merci de m'inspirer

    Bien à vous

  2. #2
    Membre confirmé

    Inscrit en
    Janvier 2005
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 48
    Par défaut
    Si tu utilises des TTables avec un nombre d'enregistrements par table relativement restreint tu peux procéder comme suit :

    Soit les champs "Montant" et "Solde" correspondants respectivements à tes 2 colonnes. Le deuxième champ n'est pas de type calculé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    procedure TForm1.CalculSoldes;
    Var TempSolde: Double;
        I: Integer 	
    begin
    If SoldesEnCours Then Exit;
    SoldesEnCours:=True;
    TempSolde:=0;
    Table1.DisableControls;
    Try
    With Table1 Do If State<>dsBrowse Then Cancel;
    Table1.First;
    For I:=0 To Table1.RecordCount-1 Do
        begin
        TempSolde:=TempSolde+Table1Montant.AsFloat;
        Table1.Edit;
        Table1Solde.AsFloat:=TempSolde;
        Table1.Post;
        end;
    Finally 
         SoldesEnCours:=False;
         Table1.EnableControls;
         end;
    end;
     
    procedure  TForm1.Table1AfterDelete(DataSet: TDataSet);
    begin
    CalculSoldes;
    end;
     
    procedure TForm1.Table1AfterOpen(DataSet: TDataSet);
    begin
    CalculSoldes;
    end;
     
    procedure TSaisieForm.Table1AfterPost(DataSet: TDataSet);
    begin
    CalculSoldes;
    end;
    La procedure CalculSoldes doit également être appelée à chaque fois qu'un filtre est placé ou modifié

    PS :J'ai oublié de préciser que la variable booléenne SoldesEnCours doit être déclarée en tant que variable globale et pas dans la procédure CalculSoldes.

  3. #3
    Membre Expert Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Par défaut
    si ton champ est crée comme champ calcule tu peut faire le calcul dans oncalcfield bien sur c'est un peut compliqué
    pour la méthode de mico2 tu peut applé "CalculSoldes;" dans onstatchange

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2004
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2004
    Messages : 160
    Par défaut ok
    Merci miko, cela me montre comment on incrémente une valeur !

    Merci à vous deux pour vos conseils

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 02/06/2014, 21h18
  2. liste déroulante alimente par les champs d'une table sql
    Par gribouille343 dans le forum Langage
    Réponses: 6
    Dernier message: 04/01/2011, 17h44
  3. afficher tous les champs d'une table
    Par julio84 dans le forum ASP
    Réponses: 8
    Dernier message: 19/01/2005, 11h31
  4. Retrouver tous les champs d'une table
    Par tripper.dim dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 11/07/2004, 21h40
  5. Afficher tous les champs d'une table avec dbexpress et MySQL
    Par LHT dans le forum Bases de données
    Réponses: 2
    Dernier message: 25/06/2004, 18h11

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