Archiver

Résolu
fifisoum5 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   -  
nabil-bago Messages postés 289 Statut Membre -
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

  1. nabil-bago Messages postés 289 Statut Membre 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 ) !!
    0
    1. fifisoum5 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
       
      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
      0
  2. nabil-bago Messages postés 289 Statut Membre 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
    0
  3. nabil-bago Messages postés 289 Statut Membre 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.
    0
    1. fifisoum5 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
       
      merci bcp pour ton soutient jvé l'essayer
      0
  4. nabil-bago Messages postés 289 Statut Membre 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.
    0
    1. fifisoum5 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
       
      merci bccccccccccccp ça fonctionne trèssss bien
      0
      1. nabil-bago Messages postés 289 Statut Membre 13 > fifisoum5 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
         
        y a pas de quoi ^^ tu peux mettre la question resolu
        et +1 pour encouragement lol
        merci
        0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Utilisateur anonyme
     
    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.
    0
    1. nabil-bago Messages postés 289 Statut Membre 13
       
      Merci Whismeril, je n'ai pas fais cette balise car je savais pas
      je m'excuse et merci encore
      0