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

Problème dans une requête ajout avec un champ contenant un espace et un signe

2 réponses
Avatar
Island.ch
Bonjour,

Je rencontre le probl=E8me suivant :

J'ai h=E9rit=E9 d'une MDB li=E9e avec plusieurs autres MDB avec des tables
et des champs contenant malheureusement des espaces et des signes !

En voulant cr=E9er une requ=EAte ajout sur l'une de ces tables (ci-dessous
exemple avec Test_Cible) et en voulant ajouter une valeur au champ
[Test > 2] la requ=EAte fonctionne mais apr=E8s avoir sauvegard=E9 la
requ=EAte ajout et r=E9ouvert cette derni=E8re, le champ [Test > 2] c'est
transform=E9 en [Test>2] sans espace !! ce qui renvoie bien s=FBr une
erreur =E0 l'ex=E9cution indiquant que le champ n'existe pas !

Exemple de code :
INSERT INTO Test_Cible ( Test_1, [Test 2], [Test > 2] )
SELECT Test.Champ1, Test.Champ2, Test.Champ3
FROM Test;

Apr=E8s sauvegarde de la requ=EAte ajout le code est transform=E9 en :
INSERT INTO Test_Cible ( Test_1, [Test 2], [Test>2] )
SELECT Test.Champ1, Test.Champ2, Test.Champ3
FROM Test;

Merci par avance pour votre aide

2 réponses

Avatar
brouhaha
j'ai testé sous Access 2003 + windows Xp sp3
je repasse la requete en mode création, là le champ devient Test>2, mais il
est possible de sélectionner le bon champ dans la liste déroulante des
champs de la requete, donc "Test > 2". La requte insertion fonctionne.
Cependant, en enregistrant, puis en réouvrant, Test > 2 devient bien Test>2,
mais la requete fonctionne tout de même.
Avatar
Michel_D
Bonjour,

Bonjour,

Je rencontre le problème suivant :

J'ai hérité d'une MDB liée avec plusieurs autres MDB avec des tables
et des champs contenant malheureusement des espaces et des signes !

En voulant créer une requête ajout sur l'une de ces tables (ci-dessous
exemple avec Test_Cible) et en voulant ajouter une valeur au champ
[Test > 2] la requête fonctionne mais après avoir sauvegardé la
requête ajout et réouvert cette dernière, le champ [Test > 2] c'est
transformé en [Test>2] sans espace !! ce qui renvoie bien sûr une
erreur à l'exécution indiquant que le champ n'existe pas !

Exemple de code :
INSERT INTO Test_Cible ( Test_1, [Test 2], [Test > 2] )
SELECT Test.Champ1, Test.Champ2, Test.Champ3
FROM Test;

Après sauvegarde de la requête ajout le code est transformé en :
INSERT INTO Test_Cible ( Test_1, [Test 2], [Test>2] )
SELECT Test.Champ1, Test.Champ2, Test.Champ3
FROM Test;

Merci par avance pour votre aide


Une solution pourrait consister à exécuter cette requête action
via VBA en donnant la chaîne SQL à la méthode RunSQL de l'objet
DoCmd.


PS:L'autre solution (la meilleure) serait de ne pas utiliser
d'opérateur dans le nom des champs.