//déclaration des fichiers d'archivage
sdStage_Archive est une Source de Données
//création des alias
HAlias(STAGE,sdStage_Archive)
//Assignation avec les fichiers physiques
sNomFichier est une chaîne
sNomFichier=HChangeNom(sdStage_Archive,"STAGES_"+COMBO_MOIS_LETTRE..ValeurAffichée+COMBO_ANNEE..ValeurAffichée)
//RAZ des fichiers d'archivages
HCréationSiInexistant(sdStage_Archive)
// extraction des données
// Sélection du fichier de sauvegarde
sNomFic est une chaîne
sChemin est une chaîne
sNomFic=fRepSélecteur(fRepEnCours(),"Sélection du dossier d'archivage","","")
//Extraction des données
//borne mini
sCléMin est une chaîne
sCléMin=Complète(COMBO_ANNEE..ValeurAffichée,4)+NumériqueVersChaîne(COMBO_MOIS_LETTRE,"02d")+hValMin
//Borne de la clé max
sCléMax est une chaîne
sCléMax = Complète(COMBO_ANNEE..ValeurAffichée,4)+NumériqueVersChaîne(COMBO_MOIS_LETTRE,"02d")+hValMax
//1 : &Continuer
//2 : &Ne pas continuer
SELON Dialogue("Vous allez archiver les stages du mois de %1 pour l'année %2. Ces données ne seront plus modifiables. Voulez vous continuer ?",...
COMBO_MOIS_LETTRE..ValeurAffichée,...
COMBO_ANNEE..ValeurAffichée)
// &Continuer
CAS 1
//Change de lieu
HChangeRep(sdStage_Archive,sNomFic)
HCréationSiInexistant(sdStage_Archive)
//Filtrage des enregistrements
HFiltre(STAGE,date_deb_stage,sCléMin,sCléMax)
HLitPremier(STAGE,date_deb_stage)
TANTQUE PAS HEnDehors(STAGE)
HCopieEnreg(sdStage_Archive,STAGE,hCopieIdAuto)
HAjoute(sdStage_Archive,hFixeIdAuto)
HSupprime(STAGE,hNumEnrEnCours)
HLitSuivant(STAGE,date_deb_stage)
FIN
Info("Le fichier a été archvé sous le nom : STAGES_"+COMBO_MOIS_LETTRE..ValeurAffichée+COMBO_ANNEE..ValeurAffichée)
// &Ne pas continuer
CAS 2
RETOUR
FIN
//Fin de l'archivage
HDésactiveFiltre(STAGE)
HAnnuleAlias(sdStage_Archive)
Ferme(FEN_Archivage)
Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=18&topic_id=5676&post_id=23163