puis je fais un certain nombre de fois ceci :
[code]ALTER TABLE Table1 add a CHAR(50)[/code]
(je change =E0 chaque fois le nom de champ donc, pas de=20
doublon). Mais =E0 la 125=E8me fois, le programme me=20
met "enregistrement trop long".
Donc, je fais une requ=EAte dans access m=EAme, la m=EAme qui a=20
plant=E9 dans mon programme, et il me plante pour la m=EAme=20
raison "enregistrement trop long".
Donc bon, con que je suis, je me mets en mode cr=E9ation de=20
la table, et l=E0, il accepte (donc manuellement, pas par=20
une requ=EAte) le rajout de mon champ.
Quelqu'un a t'il d=E9j=E0 eu ce probl=E8me messieurs ?
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
Eric
Bonjour Sylvain
Effectivement, chez moi Access2k, ca plante au 36eme champ. Sur la KB de Microsoft, peu d'infos pour l'erreur 3047.
Par contre, j'ai contourné le problème en définissant le champ non pas avec CHAR(50) mais VARCHAR(50).
Testes la proc suivante, ca devrait tourner
Sub TestCreationTableBidon() Dim strSQL As String, i As Integer, champ As String strSQL = "Create Table TableBidon(filename Char(255));" CurrentDb.Execute strSQL For i = 1 To 250 champ = "Champ" & Format(i, "000") strSQL = "Alter table TableBidon Add Column " & champ & " varchar (50);" CurrentDb.Execute strSQL Next i End Sub
A+ Eric
"sylvain" écrivait news:66c801c47553$70a51960$:
Enregistrement trop long dans ACCESS (ALTER TABLE)
Bonjour a vous, J'ai un petit souci sur ACCESS. Je crée par le code une table comme suit
puis je fais un certain nombre de fois ceci : [code]ALTER TABLE Table1 add a CHAR(50)[/code] (je change à chaque fois le nom de champ donc, pas de doublon). Mais à la 125ème fois, le programme me met "enregistrement trop long".
Donc, je fais une requête dans access même, la même qui a planté dans mon programme, et il me plante pour la même raison "enregistrement trop long".
Donc bon, con que je suis, je me mets en mode création de la table, et là, il accepte (donc manuellement, pas par une requête) le rajout de mon champ.
Quelqu'un a t'il déjà eu ce problème messieurs ?
Merci a vous et bonne journée ensoleillé.
Bonjour Sylvain
Effectivement, chez moi Access2k, ca plante au 36eme champ.
Sur la KB de Microsoft, peu d'infos pour l'erreur 3047.
Par contre, j'ai contourné le problème en définissant le champ non pas
avec CHAR(50) mais VARCHAR(50).
Testes la proc suivante, ca devrait tourner
Sub TestCreationTableBidon()
Dim strSQL As String, i As Integer, champ As String
strSQL = "Create Table TableBidon(filename Char(255));"
CurrentDb.Execute strSQL
For i = 1 To 250
champ = "Champ" & Format(i, "000")
strSQL = "Alter table TableBidon Add Column " & champ & " varchar
(50);"
CurrentDb.Execute strSQL
Next i
End Sub
puis je fais un certain nombre de fois ceci :
[code]ALTER TABLE Table1 add a CHAR(50)[/code]
(je change à chaque fois le nom de champ donc, pas de
doublon). Mais à la 125ème fois, le programme me
met "enregistrement trop long".
Donc, je fais une requête dans access même, la même qui a
planté dans mon programme, et il me plante pour la même
raison "enregistrement trop long".
Donc bon, con que je suis, je me mets en mode création de
la table, et là, il accepte (donc manuellement, pas par
une requête) le rajout de mon champ.
Effectivement, chez moi Access2k, ca plante au 36eme champ. Sur la KB de Microsoft, peu d'infos pour l'erreur 3047.
Par contre, j'ai contourné le problème en définissant le champ non pas avec CHAR(50) mais VARCHAR(50).
Testes la proc suivante, ca devrait tourner
Sub TestCreationTableBidon() Dim strSQL As String, i As Integer, champ As String strSQL = "Create Table TableBidon(filename Char(255));" CurrentDb.Execute strSQL For i = 1 To 250 champ = "Champ" & Format(i, "000") strSQL = "Alter table TableBidon Add Column " & champ & " varchar (50);" CurrentDb.Execute strSQL Next i End Sub
A+ Eric
"sylvain" écrivait news:66c801c47553$70a51960$:
Enregistrement trop long dans ACCESS (ALTER TABLE)
Bonjour a vous, J'ai un petit souci sur ACCESS. Je crée par le code une table comme suit
puis je fais un certain nombre de fois ceci : [code]ALTER TABLE Table1 add a CHAR(50)[/code] (je change à chaque fois le nom de champ donc, pas de doublon). Mais à la 125ème fois, le programme me met "enregistrement trop long".
Donc, je fais une requête dans access même, la même qui a planté dans mon programme, et il me plante pour la même raison "enregistrement trop long".
Donc bon, con que je suis, je me mets en mode création de la table, et là, il accepte (donc manuellement, pas par une requête) le rajout de mon champ.
Quelqu'un a t'il déjà eu ce problème messieurs ?
Merci a vous et bonne journée ensoleillé.
Sylvain \(Arrown\)
Effectivmeent, je venais de trouver,
Maintenant, je remplace CHAR(255) par VARCHAR CHAR (sans taille) par LONGTEXT
et ça marche nickel.
Merci a toi en tout cas. ;-)
Effectivmeent, je venais de trouver,
Maintenant, je remplace
CHAR(255) par VARCHAR
CHAR (sans taille) par LONGTEXT