OVH Cloud OVH Cloud

probleme access

2 réponses
Avatar
sylvain
Enregistrement trop long dans ACCESS (ALTER TABLE)

Bonjour a vous,=20
J'ai un petit souci sur ACCESS. Je cr=E9e par le code une=20
table comme suit

[code]CREATE TABLE Table1(Filename CHAR(255))[/code]

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 ?

Merci a vous et bonne journ=E9e ensoleill=E9.

2 réponses

Avatar
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

[code]CREATE TABLE Table1(Filename CHAR(255))[/code]

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é.



Avatar
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. ;-)