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
_________________
...
Créer un fichier PDF de la contribution Imprimer


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
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


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
_________________
...
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


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.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2