Traitement d'un champ de type mem

Résolu
trend99 Messages postés 6 Date d'inscription lundi 14 juillet 2003 Statut Membre Dernière intervention 23 août 2004 - 23 août 2004 à 12:47
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 23 août 2004 à 21:32
J'ai le traitement d'un champ de type memo qui me pose probléme.
Ce champ contient du texte entré des utilisateur (via un form) et je souhaiterais afficher ce champ aprés traitement pour l'affichage html

Ma fonction est la suivante :

function TxtToHtml (chaine)
Dim i
For i = 1 to len(chaine)
char=mid(chaine,i,1)
Select Case char
Case "<"
nchar="<"
Case ">"
nchar=">"
Case else
nchar=char
end Select
modif = modif & nchar
Next
TxtToHtml=modif
End Function

et il me plante avec l'erreur suivante:
Erreur d'exécution Microsoft VBScript (0x800A005E)
Utilisation non autorisée de Null
a la ligne de "For i = 1 to len(chaine)"

la fonction a l'aire de fonctionner normalement pour des champs de type texte

merci d'avance

8 réponses

trend99 Messages postés 6 Date d'inscription lundi 14 juillet 2003 Statut Membre Dernière intervention 23 août 2004
23 août 2004 à 21:26
j'ai trouvé le probléme, Il faut que je récupére le memo avant de récupérer un autre champs (ce que je ne faisais pas).
jai donc transformé comme suivant :

response.write ( TxtToHtml(sqldata("descriptif_long")))

par

description_memo=sqldata("descriptif_long")
.....
.....
response.write ( TxtToHtml(description_memo))

voila! merci de ton aide
3
trend99 Messages postés 6 Date d'inscription lundi 14 juillet 2003 Statut Membre Dernière intervention 23 août 2004
23 août 2004 à 12:51
ps:les lignes nchar sont convertis par les explorateur.
Il faut lire :

nchar="& l t ;"
et
nchar="& g t ;"

sans les espaces
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
23 août 2004 à 14:43
ok merci pour le deuxieme post car j'avais du mal à comprendre :)

donc d'apres ton erreur j'ai l'impression que chaine est vide

tu dois donc appeller TxtToHtml avec une expression vide, je pense que c'est a partir de la qu'il faut que tu regardes

tu appelle ta fonction comment ? tu es sur qu'il y a une valeur ? pour ca fait un simple response.write(tachaine) avant l'appel de ta fonction

@+

Cyril
0
trend99 Messages postés 6 Date d'inscription lundi 14 juillet 2003 Statut Membre Dernière intervention 23 août 2004
23 août 2004 à 16:52
Effectivement ... il ne m'envois rien dans ma fonction ou plutot rien d'exploitable car ce qui est envoyé n'est pas null (test avec isnull)
et donc? que m'envois la requette sql? Je pense que le pb est un probleme de gestion de memo mais vu que je ne sais pas vraiemernt comment ils fonctionnent...

Ceci ne résoud pas mon pb non plus(champ memo en fin de requette)
http://support.microsoft.com/default.aspx?scid=kb;EN-US;175239

si qqun a une info a ce sujet...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
trend99 Messages postés 6 Date d'inscription lundi 14 juillet 2003 Statut Membre Dernière intervention 23 août 2004
23 août 2004 à 16:52
Effectivement ... il ne m'envois rien dans ma fonction ou plutot rien d'exploitable car ce qui est envoyé n'est pas null (test avec isnull)
et donc? que m'envois la requette sql? Je pense que le pb est un probleme de gestion de memo mais vu que je ne sais pas vraiemernt comment ils fonctionnent...

Ceci ne résoud pas mon pb non plus(champ memo en fin de requette)
http://support.microsoft.com/default.aspx?scid=kb;EN-US;175239

si qqun a une info a ce sujet...
0
trend99 Messages postés 6 Date d'inscription lundi 14 juillet 2003 Statut Membre Dernière intervention 23 août 2004
23 août 2004 à 16:57
pour repondre a ta question, j'appel ma fonction comme ceci

response.write ( TxtToHtml(sqldata("descriptif_long")))

et aucune erreur sql ni sur l'existance de sqldata("desciptif_long")
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
23 août 2004 à 18:37
et qd tu fais response.write(sqldata("descriptif_long")) il te renvoie quoi ?

et si tu fais reponse.write(TxtToHtml("gras")) ca fonctionne ?

et enfin essaye ca : response.write(TxtToHtml()) ou encore response.write(TxtToHtml(nothing)) a tu la meme erreur que precedement ?

@+

Cyril
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
23 août 2004 à 21:32
lol, c'est plus que tres bizarre

t'as du code entre ton description_memo = et response.write ? car la c'est plus qu'illogique !!!

Cyril
0
Rejoignez-nous