Erreur 2147217887 (80040e21)

cs_adrico Messages postés 24 Date d'inscription dimanche 19 novembre 2000 Statut Membre Dernière intervention 12 juillet 2005 - 1 juil. 2005 à 17:13
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 - 4 juil. 2005 à 18:45
et bonjour a tous. j ai un petit probleme, meme plutot grand, avec une base de donnée access. quand je rentre un text, j ai un message d erreur 2147217887 (80040e21). bon j ai fini par comprendre que c etait parce que je depassait les 255 caracteres. n y a til pas un moyen de ralonger le nombres de caractere que ma basse de donnée peut stocker. car 255 c est vraiment le maximum que je peux mettre quand je vais dans gestionnaire de donnee, ma table access, et quand je defini que ma colone sera de type Text et aura un Size de 255. merci d avance
A voir également:

5 réponses

tbbuim1 Messages postés 940 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 3 février 2011 9
1 juil. 2005 à 17:27
Non tu ne peux pas.

Tout ce que tu peux éventuellement faire

C'est faire une procédure de stockage de ton texte.

Lors de l'enregistrement, si ya plus de 255 caractères, il mets les 255
premiers dans un champ et les 255 autres dans un autre ainsi de suite

Ou encore de tout stocker dans un fichier txt...

TBBUIM
0
cs_adrico Messages postés 24 Date d'inscription dimanche 19 novembre 2000 Statut Membre Dernière intervention 12 juillet 2005
1 juil. 2005 à 18:17
et comment peut on faire pour qu il stoke les 255 caractere dans un champ et les autres dans un autre champs??
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
2 juil. 2005 à 18:55
Salut,

Si tu veux mettre plus de 255 car dans un champ d'une table Access, type le en Memo et non en String.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
tbbuim1 Messages postés 940 Date d'inscription jeudi 20 février 2003 Statut Membre Dernière intervention 3 février 2011 9
4 juil. 2005 à 14:35
Ouais mais le mémo c'est pareil, c'est 255 maxi

C'est dla daube studio live

Et ya pire, si tu stocke dans un mémo par une requête

il n'accepte que 175 caractères!

Si t'en mets plus, il te sort une erreur.

Argument Non Valide!

Et quand tu affiches le texte dans un form, tu peux le continuer...

Bref, je sais pas si ACCESS 2002 répare cette erreur.

Pour stocker 255 char en 255 char, il faut faire une procédure qui
compte le nombre de caractère présents dans le texte et qui les
répartit équitablement.

Par exemple:

Left(Texte,255) récupère les 255 premiers caractères de Texte

Ya plus qu'à récupérer la suite Right(Texte,Len(Texte)-255)

Et recommencer jusqu'à ce que Len(Texte) < 255

TBBUIM
0

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

Posez votre question
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
4 juil. 2005 à 18:45
Désolé de te contredire, tbbuim1, le memo c'est 65535 cars max (bien que je ne suis jamais allé jusqu'à cette limite) sous certaines conditions je te l'accorde mais je n'ai jamais rencontré cette limite de 175 cars.
Je n'aime pas le type memo dans une bd non plus mais quand on est obligé.... en certaines circonstances, j'ai dù l'utiliser.
Cela dit, ça marche très bien (avec une base access 97) si on ne dépasse pas 1 ou 2Ko de texte.
Maintenant, il faut savoir qu'une base Access 97 est limitée à 1Go au total (je ne sais pas pour les versions ultérieures) et que ce n'est pas trop fait pour stocker du texte ou alors il faut repenser tout le système et utiliser +sieurs bases.

PS : le fait de diviser le texte à stocker en +sieurs champs de 255c ne fera que compliquer le code.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
Rejoignez-nous