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 :

[Paradox] Procédure de calcul


Sujet :

Bases de données Delphi

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2007
    Messages
    35
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 35
    Points : 29
    Points
    29
    Par défaut [Paradox] Procédure de calcul

    Bonjour;
    ya t'il quelqu'un qui peut corrigé ma procédure;
    je possede 2 tables
    T1(Matricule,Annee,Mois,MontPret,AncienSolde,Retenue,Nouveausolde)
    T2(Matricule,Nouveausolde,TotRemb,Nbrmois)
    sur ma form j'utilise un CheckListBox(j'affiche l'ensemble des employés qui ont
    beneficie d'un pret et ainsi pour avoir le choix de la sélection)
    2 comboBox pour l'année et le mois +1Edit pour la Retenue;
    je voudrais avoir un resultat dans cette forme:

    T1
    Mat-Annee-Mois-AncienSolde-Retenue-Nouveausolde
    101 2006 05 900 100 800
    101 2006 06 800 100 700
    102 2006 06 800 50 750

    T2
    Mat-NouveauSolde-TotRemb-Nbrmois
    101 700 200 2
    102 750 50 1

    mon probleme c'est dans le resultat de t2 sa n'incrémente pas

    ma procedure elle se présente comme suit:

    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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    procedure TFficheselect.BitBtn3Click(Sender: TObject);
    var nl,i: Integer;
      begin
      nl:=clbox1.items.count-1;
      for i:= 0 to nl do
      begin
     clBox1.checked[i]:=false;
     end;
       end;
     procedure TFficheselect.Button1Click(Sender: TObject);
    VAR s:real; s1:real; s2:real;
        nl,i: Integer;
     
     begin
     t1.Open;
     t2.open;
     
       if messagedlg('Attention....Etes Vous Sure De Vouloir Corriger les Soldes',mtconfirmation,[mbyes,mbno],0)=mryes then
        begin
     
     
        nl:=clbox1.items.count-1;
        for i:= 0 to nl do
        begin
     
         s:=800000;
         s1:=800000;
         s2:=9523.81;
     
     
        t1.First;
        while not t1.eof do
        begin
        T1.Edit;
        if(t1.fieldbyname('Mat').asstring)=(copy(clbox1.items[i],0,4)) then
        begin
        t1.fieldbyname('Anciensld').AsFloat:=(s);
     
         if clbox1.checked[i] then
         begin
     
       t1.FieldByName('Nouvsld').asfloat:= t1.fieldbyname.('MontPret')-t1.fieldbyname('Retenue');
       s:=T1.FieldByName('Nouvsld').asfloat;
     
        if t2.fieldbyname('Mat').asstring= (copy(clbox1.items[i],0,4))then
        begin
     
       t2.edit;
       t2.FieldByName('Nouvsld').asfloat:=s;
       t2.fieldbyname('TotRemb').asfloat:=s1-s;
       t2.fieldbyname('Nbrmois').asfloat:= t2.fieldbyname('TotRemb').asfloat/s2;
        t2.post;
            end;
               end; end;
             t1.post;
             t1.next;
                end;
                   end;
                    end;end;

  2. #2
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Penses à utiliser les balises de codes (le # dans la barre d'outil) quand tu mets du code.

    Sinon :

    1- Tu devrais renommer tes variables ca serait plus simple à comprendre (eviter s,s1,s2 et préférer Somme, TotalTruc, SommeBidule) faire de même avec tes tables (le jour où tu as 20 tables à gèrer, j'ose pas imaginer le bronx que ca va être)
    2- Dans ton code tu ne te positionnes jamais avec la table T2, tu fais un edit dans le vent la où le courant ammenera le curseur de la table. Il faudrait que tu utilises le locate pour rechercher le bon enregistrement.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

Discussions similaires

  1. [WD18] procédure de calcul
    Par apprenti77 dans le forum WinDev
    Réponses: 3
    Dernier message: 29/11/2014, 16h21
  2. Procédure stockée calcul
    Par kenji343 dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 28/01/2013, 06h13
  3. Besoin d'aide pour un procédure de calcul
    Par medreg dans le forum Bases de données
    Réponses: 5
    Dernier message: 02/04/2011, 10h36
  4. Calcul dans une base de donnée paradox
    Par Whinespirit dans le forum Bases de données
    Réponses: 49
    Dernier message: 16/05/2006, 15h28
  5. Calcul du temps passé dans les procédures ...
    Par Jloox dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 05/10/2005, 14h31

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