OVH Cloud OVH Cloud

Longueur maximal d'une String

8 réponses
Avatar
Dbl
Bonjour,
je suis en train de constituer une requête pour remplir le RowSource.
j'ai défini une variable en string pour cette requête.
Dim lstr as String
lstr = "Select ....from ...where........."
me.lstEco.RowSource = lstr
...
Lors de l'execution, la variable ne veut pas dépasser 255 caractères...
Au secours...

Merci par avance

Dbl

8 réponses

Avatar
Ma Dalton
tu segmentes ta grande chaine en plusieurs chaine plus courte. Par ex. : une
pour select, une pour from, et une pour where, etc. À la fin tu recolles
tout ensemble. pour une meilleure lisibilité utilises au besoinle & _ en
fin de ligne.

"Dbl" a écrit dans le message de news:
4318585d$0$21300$
Bonjour,
je suis en train de constituer une requête pour remplir le RowSource.
j'ai défini une variable en string pour cette requête.
Dim lstr as String
lstr = "Select ....from ...where........."
me.lstEco.RowSource = lstr
...
Lors de l'execution, la variable ne veut pas dépasser 255 caractères...
Au secours...

Merci par avance

Dbl



Avatar
Dbl
Malheureusement la segmentation n'y change rien.
Elle permet uniquement une meilleur lisibilité du code.
Justement, mon test démontre que la valeur globale de ma variable ne peut
dépasser les 255 caratères avec ou sans segmentation et c'est très génant.
Je suis tout de même pas le seul....

"Ma Dalton" a écrit dans le message de news:
e%
tu segmentes ta grande chaine en plusieurs chaine plus courte. Par ex. :
une pour select, une pour from, et une pour where, etc. À la fin tu
recolles tout ensemble. pour une meilleure lisibilité utilises au
besoinle & _ en fin de ligne.

"Dbl" a écrit dans le message de news:
4318585d$0$21300$
Bonjour,
je suis en train de constituer une requête pour remplir le RowSource.
j'ai défini une variable en string pour cette requête.
Dim lstr as String
lstr = "Select ....from ...where........."
me.lstEco.RowSource = lstr
...
Lors de l'execution, la variable ne veut pas dépasser 255 caractères...
Au secours...

Merci par avance

Dbl







Avatar
3stone
Salut,

| je suis en train de constituer une requête pour remplir le RowSource.
| j'ai défini une variable en string pour cette requête.
| Dim lstr as String
| lstr = "Select ....from ...where........."
| me.lstEco.RowSource = lstr
| ...
| Lors de l'execution, la variable ne veut pas dépasser 255 caractères...


Pourquoi prétends tu que la variable ne veut pas dépasser 255 caractères ?


Il existe deux types de chaînes :
les chaînes de longueur variable et les chaînes de longueur fixe.

- Les chaînes de longueur variable peuvent contenir environ 2 milliards (2^31) de caractères.
- Les chaînes de longueur fixe peuvent contenir de 1 à environ 64 Ko (2^16) de caractères.


Seul un champ de type texte (dans la table) est limité à 255 caractères.
Une zone de texte dans le formulaire peut contenir 65535 caractères !

Ton problème vient donc d'ailleurs...

Tu devrais donner ton "lstr" complet ici...


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
Ma Dalton
lstr = "Select ....from ...where........."
me.lstEco.RowSource = lstr


as-tu au moin essayer!

lstr1="Select... "
lstr2="From..."
...
lstrN="..."
me.lstEco.RowSource= lstr1 & lstr2 & lstrN

je le fais souvent et ça fonctionne très bien.

"Dbl" a écrit dans le message de news:
43193be2$0$21299$
Malheureusement la segmentation n'y change rien.
Elle permet uniquement une meilleur lisibilité du code.
Justement, mon test démontre que la valeur globale de ma variable ne peut
dépasser les 255 caratères avec ou sans segmentation et c'est très génant.
Je suis tout de même pas le seul....

"Ma Dalton" a écrit dans le message de news:
e%
tu segmentes ta grande chaine en plusieurs chaine plus courte. Par ex. :
une pour select, une pour from, et une pour where, etc. À la fin tu
recolles tout ensemble. pour une meilleure lisibilité utilises au
besoinle & _ en fin de ligne.

"Dbl" a écrit dans le message de news:
4318585d$0$21300$
Bonjour,
je suis en train de constituer une requête pour remplir le RowSource.
j'ai défini une variable en string pour cette requête.
Dim lstr as String
lstr = "Select ....from ...where........."
me.lstEco.RowSource = lstr
...
Lors de l'execution, la variable ne veut pas dépasser 255 caractères...
Au secours...

Merci par avance

Dbl











Avatar
pgz
Salut,

Et une instruction SQL est limitée à combien?

pgz


Salut,

| je suis en train de constituer une requête pour remplir le RowSource.
| j'ai défini une variable en string pour cette requête.
| Dim lstr as String
| lstr = "Select ....from ...where........."
| me.lstEco.RowSource = lstr
| ...
| Lors de l'execution, la variable ne veut pas dépasser 255 caractères...


Pourquoi prétends tu que la variable ne veut pas dépasser 255 caractères ?


Il existe deux types de chaînes :
les chaînes de longueur variable et les chaînes de longueur fixe.

- Les chaînes de longueur variable peuvent contenir environ 2 milliards (2^31) de caractères.
- Les chaînes de longueur fixe peuvent contenir de 1 à environ 64 Ko (2^16) de caractères.


Seul un champ de type texte (dans la table) est limité à 255 caractères.
Une zone de texte dans le formulaire peut contenir 65535 caractères !

Ton problème vient donc d'ailleurs...

Tu devrais donner ton "lstr" complet ici...


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw




Avatar
Raymond [mvp]
Bonjour.

environ 64000 caractères.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"pgz" a écrit dans le message de news:

Salut,

Et une instruction SQL est limitée à combien?

pgz



Avatar
pgz
Bonjour,
Donc probablement 65 535. Merci.

pgz


Bonjour.

environ 64000 caractères.




Avatar
Raymond [mvp]
oui mais faut enlever 1Ko mini pour les paramètres access. Même 60000 c'est
déja pas mal pour une seule instruction sql ?

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"pgz" a écrit dans le message de news:

Bonjour,
Donc probablement 65 535. Merci.

pgz