Re: Gestion des doublons

Posté par drcharly93 le 13/12/2006 2:26:31
Bonjour,

Avant de faire votre HAjoute, vous pouvez construite votre clé composée et effectuer une recherche dans votre fichier.
Si la recherche est fructueuse vous modifier vos données sinon vous ajoutez

//importation du ficheir Excel
NomFichierExcel est une chaîne= fSélecteur("", "DISPO.XLS", "Sélectionnez un fichier...", "Excel"+TAB+"*.xls", "*.xls")
//si la sélection est annulée, arrêt de la procédure
SI NomFichierExcel =" " ALORS RETOUR
//import du fichier
//ouverture du fichier
NumFichierXls est un entier = xlsOuvre(NomFichierExcel)
//si le fishier ne s'ouvre pas message d'erreur
SI NumFichierXls =-1 ALORS
	Erreur("Impossible d'ouvrir le fichier " + NomFichierExcel + RC + "Veuillez vérifier le format de ce fichier")
	RETOUR
FIN
//nombre de ligne à importer
nIter est un entier=0
nbLigneXls est un entier = xlsNbLigne(NumFichierXls)
//boucle sur le nbre de ligne

POUR nIter = 2 A nbLigneXls
	Planning.date=ChaîneVersDate(xlsDonnée(NumFichierXls,nIter,4))
	Planning.gh1=xlsDonnée(NumFichierXls,nIter,1)
	Planning.gh2=xlsDonnée(NumFichierXls,nIter,2)
	Planning.gh3=xlsDonnée(NumFichierXls,nIter,3)
	Planning.IDPersonnel=xlsDonnée(NumFichierXls,nIter,5)
	Si HLitRecherche(Planning, <MaCleCompose>,[IdPersonnel,Date]) Alors
          HModifie(Planing)
        Sinon
	  HAjoute(Planning)
        Fin
	Jauge(nIter,nbLigneXls,"Importation en cours Planning " +nIter +" / " +nbLigneXls)
FIN

//fermeture du fichier xls
xlsFerme(NumFichierXls)
//réaffichage de la table
Jauge()

Rafraichir()
Message("Terminé")

Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=17&topic_id=4824&post_id=20037