J'utilise Delphi, mais cela est un problème simple et général:Comment puis-je trier une table ADO sur un nom de champ contenant un espace?
que je fais ce qui suit:
Cela fonctionne très bienvar
ArticlesTable: TADOTable;
begin
ArticlesTable.DisableControls;
ArticlesTable.Sort := 'CITY';
ArticlesTable.First;
while not ArticlesTable.Eof do begin
...
ArticlesTable.Next;
end;
et me permet de traiter efficacement les dossiers un par un avec les enregistrements ordonnés ascendants par le champ CITY comme ils entrent.
Cependant, maintenant je voulais commander par le champ "NOM LAST" qui a un espace inclus dedans. Mais quand j'utilise la déclaration:
ArticlesTable.Sort := 'CITY';
Je reçois le message d'erreur:
EOleException: Arguments are of the wrong type, are out of acceptable range,
or are in conflict with one another.
Je l'ai vu the help on the SORT string syntax. Il dit de séparer plusieurs champs par des virgules, et d'ajouter ASC ou DESC après un champ pour trier par ordre croissant ou décroissant. Mais il ne dit pas quoi faire si un nom de champ a un espace dedans.
J'ai essayé de mettre le nom du champ entre guillemets simples et doubles et même d'utiliser le caractère espace # 20, mais ceux-ci ne fonctionnent pas.
Je ne peux pas modifier le nom de champ dans la base de données Microsoft Access, car il existe d'autres programmes avec lesquels je ne suis pas en fonction.
Je suis sûr qu'il doit y avoir un moyen facile de le faire que je ne sais pas.
Merci! C'est la syntaxe que je ne connaissais pas dont j'avais besoin. – lkessler
Encore une fois pour StackOverflow. J'ai passé près d'une heure à chercher sur le Web, ne sachant pas exactement où chercher, mais Skamradt m'a répondu dans environ 3 minutes. – lkessler
Ce serait bien si Access vous a grondé quand vous avez essayé de créer un nom de champ avec un espace dedans! –