Delphi 如何对包含空格的字段名上的ADO表进行排序?
我使用的是Delphi,但这是一个简单而普遍的问题: 我正在做以下工作:Delphi 如何对包含空格的字段名上的ADO表进行排序?,delphi,ms-access,sorting,ado,tadotable,Delphi,Ms Access,Sorting,Ado,Tadotable,我使用的是Delphi,但这是一个简单而普遍的问题: 我正在做以下工作: var ArticlesTable: TADOTable; begin ArticlesTable.DisableControls; ArticlesTable.Sort := 'CITY'; ArticlesTable.First; while not ArticlesTable.Eof do begin ... ArticlesTable.Next; end; 这工作得非常好
var
ArticlesTable: TADOTable;
begin
ArticlesTable.DisableControls;
ArticlesTable.Sort := 'CITY';
ArticlesTable.First;
while not ArticlesTable.Eof do begin
...
ArticlesTable.Next;
end;
这工作得非常好,允许我有效地一个接一个地处理记录,当记录进入时,由城市字段按升序排列
但是,现在我想按字段“lastname”排序,该字段中有一个嵌入的空格。但当我使用这句话时:
ArticlesTable.Sort := 'CITY';
我收到错误消息:
EOleException: Arguments are of the wrong type, are out of acceptable range,
or are in conflict with one another.
我看到了。它表示用逗号分隔多个字段,并在字段后添加ASC或DESC以升序或降序排序。但它没有说明如果字段名中有空格该怎么办
我曾尝试将字段名放在单引号和双引号中,甚至使用#20作为空格字符,但这些都不起作用
我无法更改Microsoft Access数据库上的字段名,因为我无法使用其他依赖它的程序
我相信一定有一种简单的方法可以做到这一点,但我不知道。您是否尝试过用方括号括起字段名?例如:
ArticlesTable.Sort := '[LAST NAME]';
非常感谢。这是我不知道的语法,我需要。再次为StackOverflow欢呼。我花了将近一个小时在网上搜索,不知道该在哪里查找,但斯卡姆拉特在大约3分钟内回答了我。如果你试图创建一个带有空格的字段名时Access责骂你,那就太好了!