Bonjour, Voilà je travaille sur une petite application qui a pour but de rechercher les enregistrements présents dans 2 tables à la fois, et de les insérer dans une troisième table: Le code du bouton rechercher donne:
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
60
61
62
 
procedure TFAbsence.SearchButtonClick(Sender: TObject);
Var
trouv:boolean;
i,j:integer; k:real; s:string[5];
 
begin
i:=0;
 
DataModule3.personnel.First;
DataModule5.TableEvent.First;
DataModule5.TabTempPrs.First;
DataModule5.TabTempAbs.First;
trouv:=false;
 
While not  DataModule3.personnel.Eof do
    begin
     trouv:=false;
     while not DataModule5.TableEvent.Eof do
         begin
           if DataModule3.personnel.FieldValues['PUCE']=DataModule5.TableEvent.FieldValues['PUCE'] then
              begin
               DataModule5.TabTempPrs.Append;
               DataModule5.TabTempPrs.Edit;
               DataModule5.TabTempPrs.FieldValues['MATRICULE']:=DataModule3.personnel.FieldValues['MATRICULE'];
               DataModule5.TabTempPrs.FieldValues['PUCE']:=DataModule3.personnel.FieldValues['PUCE'];
               DataModule5.TabTempPrs.FieldValues['NOM']:=DataModule3.personnel.FieldValues['NOM'];
               DataModule5.TabTempPrs.FieldValues['PRENOM']:=DataModule3.personnel.FieldValues['PRENOM'];
               DataModule5.TabTempPrs.FieldValues['FONCTION']:=DataModule3.personnel.FieldValues['FONCTION'];
               DataModule5.TabTempPrs.FieldValues['DEPT']:=DataModule3.personnel.FieldValues['DEPT'];
               DataModule5.TabTempPrs.FieldValues['EVENT']:=DataModule5.TableEvent.FieldValues['EVENT'];
               DataModule5.TabTempPrs.FieldValues['DATE']:=DataModule5.TableEvent.FieldValues['DATE'];
               DataModule5.TabTempPrs.FieldValues['HEURE']:=DataModule5.TableEvent.FieldValues['HEURE'];
 
               DataModule5.TabTempPrs.Next;
               trouv:=true;
            end; {end if}
 
            if (trouv=false) then
             begin
              i:=i+1;
              DataModule5.TabTempAbs.Append;
              DataModule5.TabTempAbs.Edit;
              DataModule5.TabTempAbs.FieldValues['MATRICULE']:=DataModule3.personnel.FieldValues['MATRICULE'];
              DataModule5.TabTempAbs.FieldValues['PUCE']:=DataModule3.personnel.FieldValues['PUCE'];
              DataModule5.TabTempAbs.FieldValues['NOM']:=DataModule3.personnel.FieldValues['NOM'];
              DataModule5.TabTempAbs.FieldValues['PRENOM']:=DataModule3.personnel.FieldValues['PRENOM'];
              DataModule5.TabTempAbs.FieldValues['FONCTION']:=DataModule3.personnel.FieldValues['FONCTION'];
              DataModule5.TabTempAbs.FieldValues['DEPT']:=DataModule3.personnel.FieldValues['DEPT'];
              //DataModule5.TabTempAbs.FieldValues['DATE']:=
 
              DataModule5.TabTempAbs.Next;
             end; {end if }
 
         DataModule3.personnel.Next;
         DataModule5.TableEvent.First;
       end; {end While}
 
       end;
 
 
end;
N.B: Les variables seront utilisées ultérieurement pour calcler le nombre retrouvé des absents et présents

A la compilation, il n'ya aucun problème, mais c'est à l'éxecution que la recherche n'en fini plus et réécri le meme energistrement à l'infini!!!???????

Je n'ai pas pu déceler le Problème!!! En plus, quand je stoppe tout et que je revois ma table destination, je la trouve vide???!!

Merci de m'aider