|
Gestion des doublons |
|
DSI WDF
Inscrit: 12/09/2004 11:07
De aude
Post(s): 279
|
Bonjour, J'importe des données d'une table Excel dans un fichier HF par le biais du code suivant:
//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)
HSurErreur(Planning,hErrDoublon,"GestionDoublons")
HAjoute(Planning)
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é")
Je souhaite que lors de la détection de doublons (sur la clé composée IdPersonnel+Date), à l'import les enregistrements identiques soient remplacés par les derniers importés. Merci de votre aide
Contribution le : 12/12/2006 15:52
|
_________________
...
|
|
Re: Gestion des doublons |
|
Animateur WDF
Inscrit: 02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
|
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é")
Contribution le : 13/12/2006 02:26
|
|
|
Re: Gestion des doublons |
|
DSI WDF
Inscrit: 12/09/2004 11:07
De aude
Post(s): 279
|
merci pour la réponse. Ca part à l'essai.
Contribution le : 13/12/2006 05:00
|
_________________
...
|
Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.
|
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
|