Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Limitation longueur requete

6 réponses
Avatar
Alain
bonjour

y a t il une limitation concernant la longuer d'une requete dans une
declaration du type

me.recordsource = "Select ......."


(déclaration dans un formulaire)

merci pour votre aide

Alain

6 réponses

Avatar
Raymond [mvp]
Bonjour.

Pour 2002 et 2003:
Nombre de caractères dans une instruction SQL qui sert de propriété
Recordsource ou Rowsource pour un formulaire, un état ou un contrôle (aussi
bien .mdb que .adp) : 32 750

pour les autres versions je ne sais pas, mais de toute façon maxi 32750. je
ne serais pas étonné de voir cette limite à 4095 pour 97 et 2000.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Alain" a écrit dans le message de
news:
bonjour

y a t il une limitation concernant la longuer d'une requete dans une
declaration du type

me.recordsource = "Select ......."


(déclaration dans un formulaire)

merci pour votre aide

Alain




Avatar
Alain
Bonjour Raymond

ça y est j'ai compté le nbre de caratères de mon instruction SQL : 2297
En fait c'est presque moitié moins que ce que tu m'annonce
Ce qui est currieurx c'est que si j'enregistre cette chaine comme une
requete normale je peux l'executer
mais si je fait Me.RowSource = machaine alors la j'ai une erreur 2176 : le
paramètre de cette propriété est trop long !!

y a il une astuce pour contourner ce pb ?

merci pour ton aide
Alain



"Raymond [mvp]" a écrit dans le message de
news:
Bonjour.

Pour 2002 et 2003:
Nombre de caractères dans une instruction SQL qui sert de propriété
Recordsource ou Rowsource pour un formulaire, un état ou un contrôle
(aussi

bien .mdb que .adp) : 32 750

pour les autres versions je ne sais pas, mais de toute façon maxi 32750.
je

ne serais pas étonné de voir cette limite à 4095 pour 97 et 2000.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Alain" a écrit dans le message de
news:
bonjour

y a t il une limitation concernant la longuer d'une requete dans une
declaration du type

me.recordsource = "Select ......."


(déclaration dans un formulaire)

merci pour votre aide

Alain









Avatar
Raymond [mvp]
Tu n'as que la solution de l'enregistrer.
si tu as besoin de changer très souvent le contenu, tu passes par la
propriété sql d'un querydef qui changera le contenu de la requête et ainsi
tu auras le bon résultat.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Alain" a écrit dans le message de
news:
Bonjour Raymond

ça y est j'ai compté le nbre de caratères de mon instruction SQL : 2297
En fait c'est presque moitié moins que ce que tu m'annonce
Ce qui est currieurx c'est que si j'enregistre cette chaine comme une
requete normale je peux l'executer
mais si je fait Me.RowSource = machaine alors la j'ai une erreur 2176 : le
paramètre de cette propriété est trop long !!

y a il une astuce pour contourner ce pb ?

merci pour ton aide
Alain


Avatar
Alain
La longueur max pour Access 2000 est de 2048 ...

En fait je stocke des requetes dans une table sous forme de string et
j'uitlise Me.recordsource
pour afficher ces infos dans mon formulaire.

ou puis trouver des exemples sur les propriétés sql des querydef ?

merci
@+
Alain


"Raymond [mvp]" a écrit dans le message de
news:
Tu n'as que la solution de l'enregistrer.
si tu as besoin de changer très souvent le contenu, tu passes par la
propriété sql d'un querydef qui changera le contenu de la requête et ainsi
tu auras le bon résultat.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Alain" a écrit dans le message de
news:
Bonjour Raymond

ça y est j'ai compté le nbre de caratères de mon instruction SQL : 2297
En fait c'est presque moitié moins que ce que tu m'annonce
Ce qui est currieurx c'est que si j'enregistre cette chaine comme une
requete normale je peux l'executer
mais si je fait Me.RowSource = machaine alors la j'ai une erreur 2176 :
le


paramètre de cette propriété est trop long !!

y a il une astuce pour contourner ce pb ?

merci pour ton aide
Alain






Avatar
Raymond [mvp]
dans ce cas c'est la longueur maxi de la table qui te limite et non le
recordsource.
pour modifier une requête enregistrée:
Dim MaRequete As DAO.QueryDef
Set MaRequete = CurrentDb.QueryDefs("requête1")
MaRequete.SQL = "SELECT table1.* from table1 WHERE table1.numéro Like '" &
Me.Numéro & "*'"
MaRequete.Close

ceci te reconstruit toute ta requête à tout moment. et tu peux faire appel à
elle immédiatement dans un recordsource.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Alain" a écrit dans le message de
news:
La longueur max pour Access 2000 est de 2048 ...

En fait je stocke des requetes dans une table sous forme de string et
j'uitlise Me.recordsource
pour afficher ces infos dans mon formulaire.

ou puis trouver des exemples sur les propriétés sql des querydef ?

merci
@+
Alain


Avatar
Alain
Ok Super

encore merci à toi Raymond

Alain

"Raymond [mvp]" a écrit dans le message de
news:
dans ce cas c'est la longueur maxi de la table qui te limite et non le
recordsource.
pour modifier une requête enregistrée:
Dim MaRequete As DAO.QueryDef
Set MaRequete = CurrentDb.QueryDefs("requête1")
MaRequete.SQL = "SELECT table1.* from table1 WHERE table1.numéro Like '" &
Me.Numéro & "*'"
MaRequete.Close

ceci te reconstruit toute ta requête à tout moment. et tu peux faire appel
à

elle immédiatement dans un recordsource.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Alain" a écrit dans le message de
news:
La longueur max pour Access 2000 est de 2048 ...

En fait je stocke des requetes dans une table sous forme de string et
j'uitlise Me.recordsource
pour afficher ces infos dans mon formulaire.

ou puis trouver des exemples sur les propriétés sql des querydef ?

merci
@+
Alain