Decoupage d'un champ texte en 255 characteres pour base access

Soyez le premier à donner votre avis sur cette source.

Snippet vu 9 111 fois - Téléchargée 31 fois

Contenu du snippet

Ce que j'ai fait ca marche mais peut etre que quelqu'un a mieux ! Les bases access ne supporte que des champs < 255 characteres en champ texte alors je l'ai découpé (max 2550 ch) en 10 autres champs (255 ch chacun) de cette façon :

Source / Exemple :


comments=Replace(Request.Form("comments"),"'"," ")
comments=Replace(comments,chr(13)," ")
comments=Replace(comments,chr(10),"")
DIM ma_var()
ReDIM ma_var(LEN(comments))
ma_var(0)=MID(comments,1,254)
comments0=ma_var(0)
if Int(Len(comments)/255)>0 then
		if (Len(comments) MOD 255) <> 0 then 
		finchaine=Int((Len(comments)/255)+1)
		else
		finchaine=Int((Len(comments)/255))
		end if
for i=1 to finchaine
ma_var(i)=MID(comments,255*i,255)
SELECT CASE i
CASE 1
comments1=ma_var(i)
CASE 2
comments2=ma_var(i)
CASE 3 
comments3=ma_var(i)
CASE 4 
comments4=ma_var(i)
CASE 5 
comments5=ma_var(i)
CASE 6 
comments6=ma_var(i)
CASE 7 
comments7=ma_var(i)
CASE 8 
comments8=ma_var(i)
CASE 9 
comments9=ma_var(i)
END SELECT
next
end if

Conclusion :


Je suis certaine que ce code peut être amélioré, je sais que ce code n'est pas terrible alors merci de ne pas etre trop dur !! Et surtout de me montrer une autre facon de penser la chose .... Indispensable pour s'améliorer ... En plus les filles ont toujours tendance à se compliquer alors que ca peut etre tres simple ;)

Kytel

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
mardi 15 juin 2004
Statut
Membre
Dernière intervention
15 juin 2004

Pour info un champ MEMO peut contenir 65'635 caractères.
Messages postés
165
Date d'inscription
jeudi 29 janvier 2004
Statut
Membre
Dernière intervention
16 octobre 2005
2
ouais surtout pas oublier le replace.
sinon ca plante grave pour les requetes de MAJ
Messages postés
24
Date d'inscription
mercredi 26 février 2003
Statut
Membre
Dernière intervention
19 février 2008

Merci beaucoup lugi pour toutes ces infos. J'avoue que je n'avais pas pensé au mémo (je l'utilise jamais ce lui-là) et je ne connaissais pas wrap=soft pour les textearea. Enfin bref merci bien ;)
Messages postés
2
Date d'inscription
jeudi 3 avril 2003
Statut
Membre
Dernière intervention
12 avril 2004

Salut Kytel, dans ta base de données tu pourrais utiliser un champ mémo au lieu de texte et tu ne seras plus limité par 255 caractères. De plus, afin de limiter les "replace", tu peut utiliser un control "textarea" avec la propriété Wrap="soft"
<textarea name="test" wrap="soft"></textarea>.
Tu n'aura alors qu'à recupérer la valeur du textarea avec
replace(request("test"),"'","''").
Bonne chance.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.