begin process at 2012 05 27 06:27:59
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Chaînes de caratères

 > DECOUPAGE D'UN CHAMP TEXTE EN 255 CHARACTERES POUR BASE ACCESS

DECOUPAGE D'UN CHAMP TEXTE EN 255 CHARACTERES POUR BASE ACCESS


 Information sur la source

Note :
6 / 10 - par 1 personne
6,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Chaînes de caratères Niveau :Débutant Date de création :05/04/2004 Date de mise à jour :24/09/2004 10:32:05 Vu :7 578

Auteur : Kytel

Ecrire un message privé
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

 Description

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

  • 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
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


 Historique

24 septembre 2004 10:32:06 :
imprécision

 Sources de la même categorie

FONCTION : REMPLACER LES CARRACTÈRES ACCENTUÉS PAR LEUR ÉQUI... par promeythey
CHERCHER ET REMPLACER UN MOT DANS UN FICHIER TEXTE par roro59650
CONVERSION CARACTÈRES UTF-8 VERS FRANÇAIS par EricDD
FONCTION UCFIRST EN ASP par DesignerCreator
Source .NET (Dotnet) FONCTIONS DE VÉRIFICATION DE LA SYNTAXE D'UNE CHAINE par vladam

Commentaires et avis

Commentaire de lugi38 le 12/04/2004 05:31:55

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"
&lt;textarea name="test" wrap="soft"&gt;&lt;/textarea&gt;.
Tu n'aura alors qu'à recupérer la valeur du textarea avec
replace(request("test"),"'","''").
Bonne chance.

Commentaire de Kytel le 13/04/2004 15:25:48

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 ;)

Commentaire de yami_no_ookami le 13/04/2004 16:22:04

ouais surtout pas oublier le replace.
sinon ca plante grave pour les requetes de MAJ

Commentaire de inspiron le 15/06/2004 12:53:43

Pour info un champ MEMO peut contenir 65'635 caractères.

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,139 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales