Problème lors de l'exécution du code
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:
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
Toujours un pbm au niveau de l'exécution
Voilà, j'ai suivi à la lettre ce que tu m'as conseillé de faire, mais c'est toujours le même problème,
en fait, je retrouve le premier enregistrement de la table personnel dans la table destination mais il boucle à l'infini sur cette dernière, elle se fait inséré à l'infini sans pouvoir passer aux reste des enregistrements de la table jusqu'à ce que j'interrompe le programme!!!!:roll: