Message de rapport:
 

Re: l'import ne marche pas !

Sujet: Re: l'import ne marche pas !
par Kaer sur 19/9/2007 1:19:51

Ok, ...
Donc si Nom et Date_int sont identiques dans un enregistremnt on importe pas si j'ai bien compris.
Donc ca s'appelle une cle composé :p
Tu peux la rajouter a ton fichier ca sera plus simple pour importer ou non selon la recherche sur cette clé (regarde l'aide)

sinon...

Deja je pense qu'il ya une erreur ici :

...
HLitRecherche(NomEta,"Nom",xlsDonnée(nXls,t,1),hIdentique)
HLitRecherche(NomEta,"Date_int",xlsDonnée(nXls,t,4),hIdentique)
// hIdentique : Pour eviter que Dupont et Dupontel soient détectés en doublon.
SI PAS HTrouve ALORS // Si existe pas alors on initialise
...

Ca va pas ca.
Ta premiere recherche est nulle et n'entraine aucune action, tu es juste positionné sur l'enregistrement trouvé (ou pas)
Ensuite là ce qui est effectif, c'est que tu ajoutes toutes les données si la date_int n'est pas trouvée dans le fichier.

Ce qu'il faut que tu fasses, c'est juste filtrer les enregistrements qui respectent les deux conditions.

// On filtre le fichier sur les deux conditions voir si on a au moins un enregistrement est present
Hfiltre(NomEta, "Nom='"+xlsDonnée(nXls,t,1)+"' ET Date_int='"+xlsDonné(nXls,t,4)+"'")
// on lit le premier enregistremtnn (si il en existe un) qui correspond aux conditions...
hlitpremier(NomEta, hrespectefiltre)
// si hendehors alors cela veut dire qu'il n'y en a aucun, on peut donc ajouter
SI hendehors() alors
	{NomEta + ".Nom",indRubrique} = xlsDonnée(nXls,t,1)
	{NomEta + ".Rs",indRubrique} = xlsDonnée(nXls,t,2)
	{NomEta + ".A_voir",indRubrique} = xlsDonnée (nXls,t,3)
	{NomEta + ".Date_int",indRubrique} = xlsDonnée (nXls,t,4)
	{NomEta + ".Classes",indRubrique} = xlsDonnée(nXls,t,5)
	{NomEta + ".Difficultes",indRubrique} = xlsDonnée(nXls,t,6)
	{NomEta + ".Pai",indRubrique} = xlsDonnée(nXls,t,7)
	{NomEta + ".Suivi",indRubrique} = xlsDonnée(nXls,t,8)
	{NomEta + ".Suites",indRubrique} = xlsDonnée(nXls,t,9)
	{NomEta + ".Notes",indRubrique} = xlsDonnée(nXls,t,10)
	{NomEta + ".archiver",indRubrique} = xlsDonnée (nXls,t,11)

	SI PAS HAjoute(NomEta) ALORS
		trace(herreurinfo())
	FIN
	
	// ne pas oublier de desactiver le filtre
	hdesactivefiltre(NomEta)
FIN


Il faut bien sur que le nom et la date est le meme format que dans le xls (c'est a dire que la date par exemple soit bien au format definis dans l'analyse soit par defaut aaaammjj et pas genre aaaa/mm/jj, ca ne fontionnera pas)

Je te conseilel de regarder l'aide sur les filtres , c'est d'une tres grande aide pour tous tout le temps, en particulier les conditions dans les filtres.

Il ya moyen de faire cette requete en sql (gain en rapidité) mais je ne suis pas un pro et les filtres me suffisent bien.

Voila tiens moi au courant.

Cordialement
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