Archiver [Résolu/Fermé]

Signaler
Messages postés
19
Date d'inscription
mercredi 8 avril 2015
Statut
Membre
Dernière intervention
7 mai 2015
-
Messages postés
254
Date d'inscription
mercredi 22 mai 2013
Statut
Membre
Dernière intervention
24 octobre 2019
-
Bonjour, tout le monde
j'ai besoin d'un autre aide
ben comme j'avais fais le filtrage je voulais que tous les patients arrivés de la date choisie soient tous archivés
mon code :
with datamodule2.ADOArchive do
 begin
 insert;
Fieldbyname('NPatient').AsString := datamodule2.ADOPatient.Fieldbyname('NPatient').AsString;
Fieldbyname('NomPatient').AsString :=datamodule2. ADOPatient.Fieldbyname('NomPatient').AsString;
Fieldbyname('PrenomPatient').asstring :=datamodule2. ADOPatient.Fieldbyname('PrenomPatient').AsString;
Fieldbyname('DateExamPatient').AsString := datamodule2.ADOPatient.Fieldbyname('DateExamPatient').AsString;
Fieldbyname('PrixTotalPatient').AsString := datamodule2.ADOPatient.Fieldbyname('PrixTotalPatient').AsString;
Fieldbyname('TauxTotalSS').AsString := datamodule2.ADOPatient.Fieldbyname('TauxTotalSS').AsString;
Fieldbyname('CompteRendu').AsString := datamodule2.ADOPatient.Fieldbyname('CompteRendu').AsString;

post;
 end;

archive un par un un mais moi je souhaiterai archiver tous les patients de la date choisie au mm temps
:(

EDIT: Ajout de la coloration syntaxique.

5 réponses

Messages postés
254
Date d'inscription
mercredi 22 mai 2013
Statut
Membre
Dernière intervention
24 octobre 2019
13
je comprend pas ce que tu veux dire par archivés puisque le code que ta ecrit et pour l'ajout des enregestrement ( insert et post ) !!
Messages postés
19
Date d'inscription
mercredi 8 avril 2015
Statut
Membre
Dernière intervention
7 mai 2015

nnnn il prend les données de la table patient vers la table archive
d après mes recherches g trouvé que cette solution si ya dautres méthodes mieux que celle ci passe la moi :) ;)
je veux dire par archiver c faire une 2 eme copie de la table base
Messages postés
254
Date d'inscription
mercredi 22 mai 2013
Statut
Membre
Dernière intervention
24 octobre 2019
13
pour cella si t'utilise une base SQL sa serais plus facile avec un ADOQuery
pour l'instant je sais pas comment faire mais je vais faire des recherche de ma part
Messages postés
254
Date d'inscription
mercredi 22 mai 2013
Statut
Membre
Dernière intervention
24 octobre 2019
13
je viens d'avoir une idée:
apres le filtrage on compte le nombre d'enregistrement
nbr:=adotable.reccordcount;
puis tu met une boucle
FOR i:= 1 to  nbr
do
begin
{ton code }
end;

le programme repete nbr fois ( le nombre d'enregistrement compté ) la meme operation pour tout les enregistrement exist avec la date de filtre

j'ai pas encore testé mais j'esper que ça marche

EDIT: Ajout de la coloration syntaxique.
Messages postés
19
Date d'inscription
mercredi 8 avril 2015
Statut
Membre
Dernière intervention
7 mai 2015

merci bcp pour ton soutient jvé l'essayer
Messages postés
254
Date d'inscription
mercredi 22 mai 2013
Statut
Membre
Dernière intervention
24 octobre 2019
13
y a pas de quoi ;)

voila j'ai testé sa marche parfaitement, j'ai cree une base avec table ( patient et patient archive ) j'ai pas fait de champ date pour que je fais vite puisque j'ai de travail, mais j'ai filtré avec un autre champ ,
voila le code :
procedure TForm3.Button2Click(Sender: TObject);
var
nbr,i:integer;
begin
 nbr:=adopatient.RecordCount;
 for i := 1 to nbr do
   begin
   adopatarch.Insert;
   adopatarch.Fieldbyname('id_p').AsInteger:= ADOPatient.Fieldbyname('id_p').AsInteger;
   adopatarch.Fieldbyname('nom').AsString := ADOPatient.Fieldbyname('nom').AsString;
   adopatarch.Fieldbyname('prenom').AsString := ADOPatient.Fieldbyname('prenom').AsString;
     adopatarch.Fieldbyname('autre').AsString := ADOPatient.Fieldbyname('autre').AsString;
     adopatarch.post;
     adopatient.Next;
   end;

end;


mais attention il faux aussi suprimé les enregistrement de la table patient
avec la suppression sa serais comme ça :


procedure TForm3.Button2Click(Sender: TObject);
var
nbr,i:integer;
begin
 nbr:=adopatient.RecordCount;
 for i := 1 to nbr do
   begin
   adopatarch.Insert;
   adopatarch.Fieldbyname('id_p').AsInteger:= ADOPatient.Fieldbyname('id_p').AsInteger;
   adopatarch.Fieldbyname('nom').AsString := ADOPatient.Fieldbyname('nom').AsString;
   adopatarch.Fieldbyname('prenom').AsString := ADOPatient.Fieldbyname('prenom').AsString;
     adopatarch.Fieldbyname('autre').AsString := ADOPatient.Fieldbyname('autre').AsString;
     adopatarch.post;
     adopatient.delete;
     adopatient.Next;
   end;

end;


EDIT: Ajout de la coloration syntaxique.
Messages postés
19
Date d'inscription
mercredi 8 avril 2015
Statut
Membre
Dernière intervention
7 mai 2015

merci bccccccccccccp ça fonctionne trèssss bien
Messages postés
254
Date d'inscription
mercredi 22 mai 2013
Statut
Membre
Dernière intervention
24 octobre 2019
13 >
Messages postés
19
Date d'inscription
mercredi 8 avril 2015
Statut
Membre
Dernière intervention
7 mai 2015

y a pas de quoi ^^ tu peux mettre la question resolu
et +1 pour encouragement lol
merci
Messages postés
15915
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
5 mai 2021
700
Bonjour à tous les deux, j'ai ajouter les balises de coloration dans vos messages respectifs.
Pour plus de lisibilité merci de le faire vous même la prochaine fois.
Messages postés
254
Date d'inscription
mercredi 22 mai 2013
Statut
Membre
Dernière intervention
24 octobre 2019
13
Merci Whismeril, je n'ai pas fais cette balise car je savais pas
je m'excuse et merci encore