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é
Imaginer, c'est retrouver un déjà vu que l'on ne connaissait pas.