:
07-05-2010, 04:49 PM
  #5
Virtuelis
 
La spécialité: sciences d'information & communication
: 07-05-2010
: 6
Virtuelis
: amir_kader

Var I:Integer; //dclarer l'entier
Begin
Table1.Filter:='sexe = '+QuotedStr('F'); //utiliser "M" et "F" par exemple
Table1.Filtered:=True; //activer le filtrage de donnes
I:=Table1.RecordCount; //la table va contenir les enregistrements en F
Edit1.Text:=IntToStr(I); //convertir l'Integer en String

1. Aiez pitidu processeur ! il a beaucoup de choses faire ! rduisez votre code
Edit1.Text := IntToStr(Table1.RecordCount).
2. Un composant TEdit n'est pas fait pour afficher les donnes, c'est fait pour la saisie, alors essayer de ne pas l'utiliser, mais utiliser des TLabel la place : (Label1.Caption := IntToStr(Table1.RecordCount);

Table1.Filter:='sexe = '+QuotedStr('M'); //utiliser "M" et "F" par exemple
Table1.Filtered:=True; //activer le filtrage de donnes
I:=Table1.RecordCount; //la table va contenir les enregistrements en M
Edit2.Text:=IntToStr(I); //convertir l'Integer en String

Table1.Filtered:=False; //dsactiver le filtrage de donnes
I:=Table1.RecordCount; //la table va contenir tous les enregistrements
Edit3.Text:=IntToStr(I); //convertir l'Integer en String

*. Mon ami, n'oublie pas d'ter le filtre avant de quitter la procdure, dans un grand travail a peut crer des complications trop dures contrler !

End; //fin de la procdure

----------------------------------------------------



Table1.Filtered:=False; //o
Table1.first; //o
For I:=1 To Table1.RecordCount Do
Begin
If Table1.FieldByName('Nom').AsSt ring='' Then //il faut reprendre le nom du champ exactement, diffrence majuscules minuscules aussi
Table1.Delete; //o
Table1.Next; //o
End; //o




Var I:Integer,NM,NF,NT; //dclarer l'entier
Begin
Table1.first; //remettre en premire position
NM:=0; //initialiser le nombre des masculins
NF:=0; //initialiser le nombre des fminins

For I:=1 To Table1.RecordCount Do
Begin
If Table1.FieldByName('sexe').asS tring='F' Then
NF:=NF+1
Else If Table1.FieldByName('sexe').asS tring='M' Then
NM:=NM+1
Else
Application.MassageBox('Il y a une erreur de donnes','ERREUR',MB_OK); //message d'erreur si ce n'est ni F ni M
Table1.Next; //passer l'enregistrement suivant
End; //o
Edit1.text:=IntToStr(NF); // nombre de femmes dans Edit1
Edit2.text:=IntToStr(NM); // nombre d'hommes dans Edit2
NT:=NF+NM; //nombre total
Edit3.text:=IntToStr(NT); // nombre total dans Edit3
If NT<>Table1.RecordCount Then
Application.MassageBox('Il y a une erreur de donnes','ERREUR',MB_OK); //message d'erreur si ce n'est ni F+M n'est pas gal au total
End; //o


[/QUOTE]

Une application de gestion d'une base de donnes doit tre solide en matire de contrle de donnes, alors il faut pas apprendre une mauvaise habitude ds le dbut et laisser l'occasion une mauvaise donne de se faire enregistre dans la base, si nous avons un champs qui doit porter M ou F, il faut jamais que l'application permette une autre valeur de venir prendre la place ! et il ne faut jamais apprendre quelqu'un d'une faon de lui faire admettre que a base peut avoir une rendandance de donnes ou des donnes incorrectes qui ne doivent pas y tre enregistres, alors, il faut rpondre en prenant en compte que les donnes sont bonne sur la base et faire la remarque qu'il faut faire attention pour contrler les donnes le temps qu'on les introduise.
Virtuelis