je croche sur un probleme :
j'ai une base Access 2000 avec une table qui comprend 138 champs
dans une boucle, je cree la chaine de carateres qui doit la mettre a jour.
for i = 1 to 138
... je compose la chaine
next
sql = "Update Table_RQ " & ma_chaine & " where ID=" & x
ensuite un execute .
Tout va bien jusqu'a ce que j'aie 138 champs , la j'ai une erreur :
"trop de champs !"
on ne peut pas aller --> 255 champs avec Access ?? y'a t'il un moyen de
contourner ce minimum de 138 champs ? ?il ne m'en manque qu'un ou 2 et
il n'y a pas de moyen "logique" de les mettre en 2 tables ....
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jean-Marc
"geo" a écrit dans le message de news:
Hello !
je croche sur un probleme : j'ai une base Access 2000 avec une table qui comprend 138 champs
dans une boucle, je cree la chaine de carateres qui doit la mettre a jour.
for i = 1 to 138 ... je compose la chaine next
sql = "Update Table_RQ " & ma_chaine & " where ID=" & x
ensuite un execute .
Tout va bien jusqu'a ce que j'aie 138 champs , la j'ai une erreur : "trop de champs !"
on ne peut pas aller --> 255 champs avec Access ?? y'a t'il un moyen de contourner ce minimum de 138 champs ? ?il ne m'en manque qu'un ou 2 et il n'y a pas de moyen "logique" de les mettre en 2 tables ....
Hello,
les spécifications d'Access disent : 255 champs max par table. Le probleme ne vient donc pas de la (d'ailleurs tu n'aurais pas pu créer ta table si le probleme était la).
La taille maximum d'un statement SQL est d'approximativement 64000 caracteres. Je ne pense pas que ta chaine fasse 64000.
Donc le probleme est ailleurs.
Je n'ai pas trouvé les specs qui définissent le nombre max de champs qu'on peut affecter en un seul UPDATE. Perso, je chercherais dans ce sens, et j'essaierais avec 2 statements UPDATE:
le premier avec les 69 premiers champs, puis le second avec les 69 suivants, puis COMMIT
Remarque au passage: quelle que soit la nature du probleme, une table avec 138 champs n'est *pas* une bonne idée. On peut 'toujours' faire autrement.
- Jean-marc
"geo" <no_spam@no_spam.fr> a écrit dans le message de
news:41276864.7000009@no_spam.fr...
Hello !
je croche sur un probleme :
j'ai une base Access 2000 avec une table qui comprend 138 champs
dans une boucle, je cree la chaine de carateres qui doit la mettre a jour.
for i = 1 to 138
... je compose la chaine
next
sql = "Update Table_RQ " & ma_chaine & " where ID=" & x
ensuite un execute .
Tout va bien jusqu'a ce que j'aie 138 champs , la j'ai une erreur :
"trop de champs !"
on ne peut pas aller --> 255 champs avec Access ?? y'a t'il un moyen de
contourner ce minimum de 138 champs ? ?il ne m'en manque qu'un ou 2 et
il n'y a pas de moyen "logique" de les mettre en 2 tables ....
Hello,
les spécifications d'Access disent : 255 champs max par table. Le probleme
ne vient donc pas de la (d'ailleurs tu n'aurais pas pu créer ta table si le
probleme était la).
La taille maximum d'un statement SQL est d'approximativement 64000
caracteres. Je ne pense pas que ta chaine fasse 64000.
Donc le probleme est ailleurs.
Je n'ai pas trouvé les specs qui définissent le nombre max de champs qu'on
peut affecter en un seul UPDATE. Perso, je chercherais dans ce sens, et
j'essaierais avec 2 statements UPDATE:
le premier avec les 69 premiers champs,
puis le second avec les 69 suivants, puis COMMIT
Remarque au passage: quelle que soit la nature du probleme, une table avec
138 champs n'est *pas* une bonne idée. On peut 'toujours' faire autrement.
je croche sur un probleme : j'ai une base Access 2000 avec une table qui comprend 138 champs
dans une boucle, je cree la chaine de carateres qui doit la mettre a jour.
for i = 1 to 138 ... je compose la chaine next
sql = "Update Table_RQ " & ma_chaine & " where ID=" & x
ensuite un execute .
Tout va bien jusqu'a ce que j'aie 138 champs , la j'ai une erreur : "trop de champs !"
on ne peut pas aller --> 255 champs avec Access ?? y'a t'il un moyen de contourner ce minimum de 138 champs ? ?il ne m'en manque qu'un ou 2 et il n'y a pas de moyen "logique" de les mettre en 2 tables ....
Hello,
les spécifications d'Access disent : 255 champs max par table. Le probleme ne vient donc pas de la (d'ailleurs tu n'aurais pas pu créer ta table si le probleme était la).
La taille maximum d'un statement SQL est d'approximativement 64000 caracteres. Je ne pense pas que ta chaine fasse 64000.
Donc le probleme est ailleurs.
Je n'ai pas trouvé les specs qui définissent le nombre max de champs qu'on peut affecter en un seul UPDATE. Perso, je chercherais dans ce sens, et j'essaierais avec 2 statements UPDATE:
le premier avec les 69 premiers champs, puis le second avec les 69 suivants, puis COMMIT
Remarque au passage: quelle que soit la nature du probleme, une table avec 138 champs n'est *pas* une bonne idée. On peut 'toujours' faire autrement.
- Jean-marc
geo
Jean-Marc a écrit:
"geo" a écrit dans le message de news:
Hello !
je croche sur un probleme : j'ai une base Access 2000 avec une table qui comprend 138 champs
dans une boucle, je cree la chaine de carateres qui doit la mettre a jour.
for i = 1 to 138 ... je compose la chaine next
sql = "Update Table_RQ " & ma_chaine & " where ID=" & x
ensuite un execute .
Tout va bien jusqu'a ce que j'aie 138 champs , la j'ai une erreur : "trop de champs !"
on ne peut pas aller --> 255 champs avec Access ?? y'a t'il un moyen de contourner ce minimum de 138 champs ? ?il ne m'en manque qu'un ou 2 et il n'y a pas de moyen "logique" de les mettre en 2 tables ....
Hello,
les spécifications d'Access disent : 255 champs max par table. Le probleme ne vient donc pas de la (d'ailleurs tu n'aurais pas pu créer ta table si le probleme était la).
La taille maximum d'un statement SQL est d'approximativement 64000 caracteres. Je ne pense pas que ta chaine fasse 64000.
Donc le probleme est ailleurs.
Je n'ai pas trouvé les specs qui définissent le nombre max de champs qu'on peut affecter en un seul UPDATE. Perso, je chercherais dans ce sens, et j'essaierais avec 2 statements UPDATE:
le premier avec les 69 premiers champs, puis le second avec les 69 suivants, puis COMMIT
Remarque au passage: quelle que soit la nature du probleme, une table avec 138 champs n'est *pas* une bonne idée. On peut 'toujours' faire autrement.
- Jean-marc
heu oui c'est une idee de casser ma chaine en 2 update , mais pourquoi ce "COMMIT" ???
Géo
Jean-Marc a écrit:
"geo" <no_spam@no_spam.fr> a écrit dans le message de
news:41276864.7000009@no_spam.fr...
Hello !
je croche sur un probleme :
j'ai une base Access 2000 avec une table qui comprend 138 champs
dans une boucle, je cree la chaine de carateres qui doit la mettre a jour.
for i = 1 to 138
... je compose la chaine
next
sql = "Update Table_RQ " & ma_chaine & " where ID=" & x
ensuite un execute .
Tout va bien jusqu'a ce que j'aie 138 champs , la j'ai une erreur :
"trop de champs !"
on ne peut pas aller --> 255 champs avec Access ?? y'a t'il un moyen de
contourner ce minimum de 138 champs ? ?il ne m'en manque qu'un ou 2 et
il n'y a pas de moyen "logique" de les mettre en 2 tables ....
Hello,
les spécifications d'Access disent : 255 champs max par table. Le probleme
ne vient donc pas de la (d'ailleurs tu n'aurais pas pu créer ta table si le
probleme était la).
La taille maximum d'un statement SQL est d'approximativement 64000
caracteres. Je ne pense pas que ta chaine fasse 64000.
Donc le probleme est ailleurs.
Je n'ai pas trouvé les specs qui définissent le nombre max de champs qu'on
peut affecter en un seul UPDATE. Perso, je chercherais dans ce sens, et
j'essaierais avec 2 statements UPDATE:
le premier avec les 69 premiers champs,
puis le second avec les 69 suivants, puis COMMIT
Remarque au passage: quelle que soit la nature du probleme, une table avec
138 champs n'est *pas* une bonne idée. On peut 'toujours' faire autrement.
-
Jean-marc
heu oui c'est une idee de casser ma chaine en 2 update , mais pourquoi
ce "COMMIT" ???
je croche sur un probleme : j'ai une base Access 2000 avec une table qui comprend 138 champs
dans une boucle, je cree la chaine de carateres qui doit la mettre a jour.
for i = 1 to 138 ... je compose la chaine next
sql = "Update Table_RQ " & ma_chaine & " where ID=" & x
ensuite un execute .
Tout va bien jusqu'a ce que j'aie 138 champs , la j'ai une erreur : "trop de champs !"
on ne peut pas aller --> 255 champs avec Access ?? y'a t'il un moyen de contourner ce minimum de 138 champs ? ?il ne m'en manque qu'un ou 2 et il n'y a pas de moyen "logique" de les mettre en 2 tables ....
Hello,
les spécifications d'Access disent : 255 champs max par table. Le probleme ne vient donc pas de la (d'ailleurs tu n'aurais pas pu créer ta table si le probleme était la).
La taille maximum d'un statement SQL est d'approximativement 64000 caracteres. Je ne pense pas que ta chaine fasse 64000.
Donc le probleme est ailleurs.
Je n'ai pas trouvé les specs qui définissent le nombre max de champs qu'on peut affecter en un seul UPDATE. Perso, je chercherais dans ce sens, et j'essaierais avec 2 statements UPDATE:
le premier avec les 69 premiers champs, puis le second avec les 69 suivants, puis COMMIT
Remarque au passage: quelle que soit la nature du probleme, une table avec 138 champs n'est *pas* une bonne idée. On peut 'toujours' faire autrement.
- Jean-marc
heu oui c'est une idee de casser ma chaine en 2 update , mais pourquoi ce "COMMIT" ???
Géo
Adam Pietrasiewicz
W sobotê 21-sierpnia-2004 o godzinie 18:11:57 geo napisa³/a
heu oui c'est une idee de casser ma chaine en 2 update , mais pourquoi ce "COMMIT" ???
Begin Trans et Commit Trans pour que, au cas d'un crash, l'integrite des donnees soit sauvegardee.
Mais le vrai probleme reste tes 138 champs - ce n'est PAS normal!
-- Pozdrawiam Adam Pietrasiewicz
W sobotê 21-sierpnia-2004 o godzinie 18:11:57 geo napisa³/a
heu oui c'est une idee de casser ma chaine en 2 update , mais pourquoi
ce "COMMIT" ???
Begin Trans et Commit Trans pour que, au cas d'un crash, l'integrite
des donnees soit sauvegardee.
Mais le vrai probleme reste tes 138 champs - ce n'est PAS normal!