ADO + nom de table avec ":"

Signaler
Messages postés
21
Date d'inscription
mercredi 18 décembre 2002
Statut
Membre
Dernière intervention
6 octobre 2008
-
Messages postés
30
Date d'inscription
lundi 26 avril 2004
Statut
Membre
Dernière intervention
4 août 2010
-
Bonjour,


je dois reprendre une application sous access. Mon problème est le suivant : certaines tables ont un nom qui comportent le caractère ":", par exemple : "Liste : compartiment".


J'utilise ADO avec Delphi.


With AdoQuery1 do
begin
sql.clear;
sql.add('select * from [Liste : compartiment]');
connection:=adoconnection1;
active:=True;
ETC...


J'obtiens alors l'erreur suivante : l'objet Parameter défini de manière incorrect. J'ai essayé de remplacer les : avec son caractère ASCII, même soucis.


Avez-vous une idée ?


Merci de votre aide.


Cordialement

1 réponse

Messages postés
30
Date d'inscription
lundi 26 avril 2004
Statut
Membre
Dernière intervention
4 août 2010

pour réécrire ça
sql.add('select * from [Liste : compartiment]');

il faut bien faire attention aux espaces et à la découpe de la chaine
soyons méthodique devant le doute:

chaine:='select * from [Liste_' + chr(code acii(:))+ '_compartiment]';
puis
messageBox chaine;
ou encore
Teditquelconque.text:=chaine;
//pour vérifier les espaces
si le probleme venait d'une particularité ADO ou access, ou delphi, une idee (on ne sait jamais) serait de faire un 'select * from table' pour voir comment le nom du champ t'est renvoyé



<HR>
Imaginer, c'est retrouver un déjà vu que l'on ne connaissait pas.