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

Le
Island.ch
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
brouhaha
Le #6871131
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.
Michel_D
Le #6880581
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.

Publicité
Poster une réponse
Anonyme