Problème dans une requête ajout avec un champ contenant un espace et un signe
2 réponses
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;
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
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.
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.
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
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.
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.
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.