|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
| Accueil → WINDEV 2025 → Pb important chez un client avec la saisie de texte dans des champs RTF |
| Pb important chez un client avec la saisie de texte dans des champs RTF |
| Débuté par guest, 11 jan. 2005 19:20 - 3 réponses |
| |
| | | |
|
| |
| Posté le 11 janvier 2005 - 19:20 |
J'espère vraiment que quelqu'un va pouvoir m'aider.
J'ai créé une application pour saisir différents projets pour des enfants, et chaque projet peut avoir différentes rubriques.
Donc pour chaque enfant j'ai par exemple :
1) Enfant - Projet de l'élève (+ le texte du projet ) (correspond à un enregistrement)
2) Enfant - Projet Pédagogique - Rubrique Orhtoptie (+ le texte du projet)
3) Enfant - Projet Pédagogique - Rubrique A.V.J (+ le texte du projet)
J'ai donc ma fenêtre de saisie de projet où je peux choisir par combo : - l'année scolaire - l'enfant - le projet - la rubrique du projet
Et en dessous j'ai un champ rtf où on saisi le texte concernant le projet avec une mise en forme éventuelle (gras , italique, couleur..) ou bien s'il existe déjà j'affiche le texte.
Pour changer d'enfant soit je valide (ce qui met a jour l'enregistrement) soit j'annule (et je ne tiens pas compte des modifications apportées dans le champs de saisie)
Lorsque je valide où j'annule je remets mon champ de saisie RTF, mes variables .. à blanc (je réinitialise)
Il est obligatoire de valider ou d'annuler pour sélectionner une autre année, un autre enfant, un autre projet ou une autre rubrique.
Et pourtant il arrive (aléatoirement) chez mon client qu'après avoir saisie le texte d'un des projets et valider la saisie, le lendemain en revenant dans l'enregistrement il n'y a plus rien, le texte n'existe plus et de devoir le resaisir.
Autre cas qui survient aléatoirement, lorsque l'on revient dans un projet d'un enfant on retrouve parfois des caractères étranges (carré, lettre avec des accents....) enfin de texte et qui remplace une partie du texte qui avait été saisi.
Cela fait presque trois semaines que j'essaye de résoudre ce problème sans succès, et je desespère de trouver un jour une solution à ce problème.
Si quelqu'un à déjà rencontré ce genre de problème pourrait-il me conseiller ou m'aider car j'en ai grand besoin.
Merci d'avance. |
| |
| |
| | | |
|
| | |
| |
| Posté le 12 janvier 2005 - 00:57 |
Bonjour,
Quelques commentaires :
1. L'enregistrement ne peut pas exister puis disparaitre s'il y a eu inscription physique. L'erreur vient donc certainement d'une variable ou d'un champ qui est vidé alors qu'il ne le devrait pas lors de l'enregistrement.
2. Quand tu dis que tu réinitialises ton texte RTF par exemple tu utilises quelle fonction ? Si tu fais RAZ() tous les champs seront remis à 0. Vérifie si tous cela est correct ou pas et si certains champs ne devraient pas ne pas être vidés.
3. Fais-tu HRAZ pour initialiser avant un nouvel enregistrement ? Sinon peut être que l'enregistrement remplace une donnée stockée en mémoire ?
4. As tu testé d'autres install sur d'autres postes ? As tu essayé de voir si les enregistrements existaient vraiment dans la base ou pas (fichier .fic...) ?
Si tu pouvais transmettre plus de codes ou de modèles de procédure, je pourrais éventuellement t'aider.
Cordialement,
Jérôme |
| |
| |
| | | |
|
| | |
| |
| Posté le 12 janvier 2005 - 09:47 |
Pour initialiser mes variables je ne fais pas de RAZ() pour ne pas tout vider justement, ensuite mes champs à l'écran ne sont pas liés avec des données dans le fichier. Je récupère les valeurs de mes champs et je vérifie l'existence de l'enregistrement, s'il existe déjà je modifie l'enregistrement, s'il n'existe pas je créé l'enregistrement.
Voici le code de mon bouton valider :
--------------------------------------------------------- memoannee est une chaîne = "" memoproj est une chaîne = "" memorub est une chaîne = "" memoidress est un entier = 0
idressources = Combo_Enfant.IDPersonne_Ressources Annee = Combo1..ValeurAffichée Code_projet = Combo_Projet.Cod_proj
SI Combo_Rubrique..ValeurAffichée = "" ALORS Codrub = "" SINON Codrub = Combo_Rubrique.Code_rub FIN
VideStructure()
//on vérifie si un projet existe déjà pour l'enfant (pour l'année, le projet, la rubrique sélectionnés) HExécuteRequête(RechIDEnfantProjet,hRequêteDéfaut,Annee,Code_projet,Codrub,idressources) HLitPremier(RechIDEnfantProjet) SI HTrouve(RechIDEnfantProjet) ALORS id_projenfant est une entier = RechIDEnfantProjet.IDEnfantProjet HLitRecherche(EnfantProjet,IDEnfantProjet,id_projenfant) SI HTrouve() ALORS //on récupère les infos de la structure memoannee = EnfantProjet.Annee_scolaire memoproj = EnfantProjet.Cod_proj memorub = EnfantProjet.Cod_rub memoidress = EnfantProjet.IDPersonne_Ressources TexteRappelProjet = EnfantProjet.TexteRappelProjet TexteBilan = EnfantProjet.TexteBilanProjet //On modifie l'enregistrement EnfantProjet.Annee_scolaire = memoannee EnfantProjet.Cod_proj = memoproj EnfantProjet.Cod_rub = memorub EnfantProjet.IDPersonne_Ressources = memoidress EnfantProjet.TexteBilanProjet = TexteBilan EnfantProjet.TexteRappelProjet = TexteRappelProjet EnfantProjet.TexteProjet = ChampRTF.SaisieTexte HModifie(EnfantProjet) FIN SINON CreationRessourcesProjet() FIN
RAZChamps()
ModifAppliquee = Vrai ChampRTF..Visible = Faux Rappel..Visible = Faux Valide..Visible = Faux Annuler..Visible = Faux
//on débloque les champs de sélection DeBloqueChampsSelect() ----------------------------------------------------------------------------------------------------
VideStructure() :
EnfantProjet.Cod_proj = "" EnfantProjet.Cod_rub = "" EnfantProjet.Annee_scolaire = "" EnfantProjet.IDPersonne_Ressources = 0 EnfantProjet.TexteProjet = "" EnfantProjet.TexteRappelProjet = "" EnfantProjet.TexteBilanProjet = ""
------------------------------------------------------------------------------------------------------
CreationRessourcesProjet() :
idressources = Combo_Enfant.IDPersonne_Ressources Annee = Combo1..ValeurAffichée Code_projet = Combo_Projet.Cod_proj
SI Combo_Rubrique..ValeurAffichée = "" ALORS Codrub = "" SINON Codrub = Combo_Rubrique.Code_rub FIN
EnfantProjet.Annee_scolaire = Annee EnfantProjet.Cod_proj = Code_projet EnfantProjet.IDPersonne_Ressources = idressources EnfantProjet.TexteProjet =ChampRTF.SaisieTexte EnfantProjet.TexteRappelProjet = "" EnfantProjet.TexteBilanProjet = "" EnfantProjet.Cod_rub = Codrub
HAjoute(EnfantProjet) |
| |
| |
| | | |
|
| | |
| |
| Posté le 12 janvier 2005 - 12:41 |
Bonjour,
1. Essaye une affectation directe de ton champs RTF vers ta base pour voir 2. Verifie le format de ta base pour les champs qui posent des problèmes 3. Vérifie sur le poste utilisateur si les donnés sont bien physiquement inscrites ou pas. 4. Dans la structure de ton code il serait judicieux de mettre sous la forme d'une procédure tous les codes permettant de vérifier si les champs nécessaires sont rempli ou pas (avec valeur booléenne négative renvoyer en cas de non conformité). Ainsi, tu pourras mieux isoler certains problèmes 5. Il serait mieux peut être que tu fasse des HRAZ() afin qu'il ne soit pas garder en mémoire la valeur du projet précédent. Vérifie si les erreurs arrivent dès le premier projet ou alors lors de la saisi/modif du deuxième... Si tel est le cas, t'as trouver le problème.
En espérant t'aider
Jérôme |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|