|
Le dernier enregistrement figure 2 fois ! |
Started by jplucien, Apr., 21 2006 1:33 AM - 2 replies |
| |
| | | |
|
| |
Posted on April, 21 2006 - 1:33 AM |
Je fais un fichier texte depuis une requête test. Le dernier enregistrement de la requête est écrit 2 fois dans le fichier texte (tantque pas hendehors....)
voici le code
FF est un entier = fOuvre("C:\temp\MonFic.txt",foCréation) MaLigne est une chaîne sdREQ est une Source de Données strSQL est une chaîne strSQL = "SELECT * FROM Test" HExécuteRequêteSQL(sdREQ,hRequêteDéfaut,strSQL) HLitPremier(sdREQ) MaLigne = MaLigne + sdREQ.Nom + " " + sdREQ.PRENOM + " " + sdREQ.VILLE fEcritLigne(FF,MaLigne) TANTQUE PAS HEnDehors(sdREQ) HLitSuivant(sdREQ) fEcritLigne(FF,CR + sdREQ.nom + " " + sdREQ.PRENOM + " " + sdREQ.VILLE + CR) FIN fFerme(FF)
Comment éviter ce problème?
Merci de votre aide |
| |
| |
| | | |
|
| | |
| |
Posted on April, 21 2006 - 1:38 AM |
Pat a pensé très fort :
Je fais un fichier texte depuis une requête test. Le dernier enregistrement de la requête est écrit 2 fois dans le fichier texte (tantque pas hendehors....)
voici le code
FF est un entier = fOuvre("C:\temp\MonFic.txt",foCréation) MaLigne est une chaîne sdREQ est une Source de Données strSQL est une chaîne strSQL = "SELECT * FROM Test" HExécuteRequêteSQL(sdREQ,hRequêteDéfaut,strSQL) HLitPremier(sdREQ) MaLigne = MaLigne + sdREQ.Nom + " " + sdREQ.PRENOM + " " + sdREQ.VILLE fEcritLigne(FF,MaLigne) TANTQUE PAS HEnDehors(sdREQ) HLitSuivant(sdREQ) fEcritLigne(FF,CR + sdREQ.nom + " " + sdREQ.PRENOM + " " + sdREQ.VILLE + CR) FIN fFerme(FF)
Comment éviter ce problème?
Merci de votre aide
A la lecture du code, il doit manquer le premier enregistrement en plus d'avoir le dernier en double ! Le HLitSuivant n'est pas bien placer, il faut le mettre juste avant le "FIN" de la boucle TANT QUE.
Cependant vous pouvez utiliser un "POUR TOUT" qui supprime ces écritures. Exemple :
POUR TOUT sdREQ fEcritLigne(FF,CR + sdREQ.nom ...) FIN
A+ |
| |
| |
| | | |
|
| | |
| |
Posted on April, 21 2006 - 4:52 PM |
HExécuteRequêteSQL(sdREQ,hRequêteDéfaut,strSQL) HLitPremier(sdREQ) TANTQUE PAS HEnDehors(sdREQ) fEcritLigne(FF,maligne) HLitSuivant(sdREQ) FIN fFerme(FF)
Pat a écrit :
Je fais un fichier texte depuis une requête test. Le dernier enregistrement de la requête est écrit 2 fois dans le fichier texte (tantque pas hendehors....)
voici le code
FF est un entier = fOuvre("C:\temp\MonFic.txt",foCréation) MaLigne est une chaîne sdREQ est une Source de Données strSQL est une chaîne strSQL = "SELECT * FROM Test" HExécuteRequêteSQL(sdREQ,hRequêteDéfaut,strSQL) HLitPremier(sdREQ) MaLigne = MaLigne + sdREQ.Nom + " " + sdREQ.PRENOM + " " + sdREQ.VILLE fEcritLigne(FF,MaLigne) TANTQUE PAS HEnDehors(sdREQ) HLitSuivant(sdREQ) fEcritLigne(FF,CR + sdREQ.nom + " " + sdREQ.PRENOM + " " + sdREQ.VILLE + CR) FIN fFerme(FF)
Comment éviter ce problème?
Merci de votre aide
|
| |
| |
| | | |
|
| | | | |
| | |
|