espace dans le nom d'un table sql

B

Bob

Guest
bonjour

j'ai un problem pour executer une reque sql
je pense que cela est du a un espace dans le nom de la table

SELECT * from Prix prod;

comment faire pour que la table soit prise en compte ?

Merci bcp
 

Gael

XLDnaute Barbatruc
Bonjour Bob, Bonjour Laurent, Bonjour Michel,

J'ai fait un essai et le code SQL généré a mis le nom de la feuille entre apostrophes:

'feuille 11'

Mais le mieux comme l'a souligné Laurent est de remplacer les espaces par un souligné, ça évite tous ces problèmes.

@+

Gael
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour Laurent, Gael, Michel, Bob

Je ne sais pas combien de fois j'ai répété dans ce Forum et aussi dans le Forum 'Première Génération' que plus on reste 'sobre' dans les noms de quelque soit l'Objet (pas d'espace, pas d'accent, pas de caractères spéciaux) moins on risque de souci lors de développements futures et d'évolutions successives.

En effet, bien que depuis Win 95, on puisse bénéficier, de par le 32 Bits, de 255 caractères avec des espaces, bien souvent d'autres applications satellites, bien qu'elles 'digèrent' plus de huit caractères, capotent si il y a un espace ou un caractère 'schmilblic' au milieu et notamment lors de requêtes SQL, car tout dépend du moteur ODBC employé.

Donc_restons_toujours_simple_avec_les_Noms.

Depuis des décennies, je me suis tellement habitué à ce bon vieil Underscore qu'il y en a même un dans mon Nom !!! ;-)

Bonne Journée
[ol]@+Thierry[/ol]
 
B

bob

Guest
Bonjour thierry

Tu c'est on ne decide pas toujours de tout surtout quand on reprend un base de données existante que l'on peut pas modifier
Donc voila moi aussi j'aurais mis un '_' mais c'était pas moi donc le probléme reste toujours

@+
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Re bonjour Bob, le Fil, le Forum

Bon c'est très bien tout ça, mais au fait quelqu'un a peut-être été déjà confronté à ce problème, mais il faudrait être plus précis Bob.

Quelle est la Base de Données qui a permis de nommer des Tables avec des Espaces ? (Access, Oracle, SQLServer, MySQL, etc ?)

Comment construis-tu tes requêtes SQL ? (En VB : ADO, DAO et avecd quel 'engine ?', Autres etc ?)

Postes-nous un exemple

Bonne Journée
[ol][ol]@+Thierry[/ol][/ol]
 

MichelXld

XLDnaute Barbatruc
bonjour à tous

j'ai testé hier soir la solution proposée par mon ami Michel : utilisation des crochets ( sans les apostrophes ) et cela fonctionne tres bien pour les tables contenant des espaces , ainsi que pour les champs contenant des espaces



bonne journée
MichelXld

Message édité par: michelxld, à: 18/10/2005 10:43
 
B

bob

Guest
re bonjour,

voila donc en fait c'est une base de données access sur laquelle je travail
et lorsque je fait une requete sql sur une table sans espace aucun probleme le pb arrive avec la table possédant l'espace

voici comment ca se présente :

Set r= New ADODB.Recordset

With r
.ActiveConnection = Conn
.Open 'SELECT * FROM Prix prod'

C'est sans succes avec ce que vous avez proposez precedemment c'est etrrange etant donné que les tests de michel sont concluant

Merci
 

MichelXld

XLDnaute Barbatruc
rebonjour

tu peux tester cet exemple constitué d'une table dont le nom contient un espace :'Prix Prod'

et aussi un nom de champ qui contient un espace 'Les Dates' , pour repondre au lien ci dessous

Ce lien n'existe plus


bonne soiree
MichelXld [file name=Test_Espace_Table_Et_Champ.zip size=17281]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Test_Espace_Table_Et_Champ.zip[/file]
 

Pièces jointes

  • Test_Espace_Table_Et_Champ.zip
    16.9 KB · Affichages: 154

Gael

XLDnaute Barbatruc
Bonjour à tous,

J'avais fait des essais avec MSQuery mais la syntaxe n'est pas tout à fait la même.

Grâce à l'exemple de Michel, j'ai pu vérifier aussi le bon fonctionnement avec les crochets '[ ]' mais ça fonctionne aussi très bien en mettant des '`' à la place des crochets. je ne connais pas le nom de ce caractère mais tu peux l'obtenir avec AltGr-7 (attention, il faut quelquefois le faire 2 fois de suite puis en effacer 1, ou taper un caractère après comme pour un tréma au accent circonflexe.

Cela donne: `Prix Prod`

Essaie à tout hasard.

@+

Gael
 

michel_m

XLDnaute Accro
Bonjour Laurent, Gael, Michel, Bob, Thierry

Merci Michel pour ta démo de mise au point.

Je l'ai utilisé pour faire un test pour les apostrophes que SQL n'aime pas du tout non plus dans un nom de colonne.

la forme entre crochets fonctionne: [les d'ates]

on peut aussi utiliser la fonction 'replace' en remplacant 1 apostrophe par 2 (je crois d'ailleurs que c'est toi qui m'avait filé le tuyau)

C'était simplement pour faire avancer le schmilblic

Bonne soirée à tous

Michel_M
 

Discussions similaires

Statistiques des forums

Discussions
311 730
Messages
2 081 991
Membres
101 856
dernier inscrit
Marina40