2009-11-16 43 views
0

我使用Delphi的,但是這是一個簡單而普遍的問題:如何對包含空格的字段名上的ADO表進行排序?

我做了以下內容:

var 
    ArticlesTable: TADOTable; 

begin 
    ArticlesTable.DisableControls; 
    ArticlesTable.Sort := 'CITY'; 
    ArticlesTable.First; 
    while not ArticlesTable.Eof do begin 
    ... 
    ArticlesTable.Next; 
    end; 

這工作得很好,讓我能夠有效地逐個處理與記錄記錄下令CITY字段上升,因爲它們是在未來。

不過,現在我想通過中有一個嵌入式空間領域「姓」命令。但是當我使用的語句:

ArticlesTable.Sort := 'CITY'; 

我得到的錯誤信息:

EOleException: Arguments are of the wrong type, are out of acceptable range, 
        or are in conflict with one another. 

我見過the help on the SORT string syntax。它表示通過逗號分隔多個字段,並在字段之後添加ASC或DESC以升序或降序排序。但是它並沒有說明如果一個字段名有一個空格,該怎麼辦。

我試圖把單引號和雙引號的字段名稱,甚至使用#20爲空格字符,但那些不工作。

我無法更改Microsoft Access數據庫上的字段名稱,因爲還有其他程序不依賴於它。

我確定必須有一個簡單的方法來做到這一點,我不知道。

回答

9

你是否試過用方括號圍繞字段名?例如:

ArticlesTable.Sort := '[LAST NAME]'; 
+0

謝謝!!這是我不知道的,我需要的語法。 – lkessler

+0

Hooray再次爲StackOverflow。我花了將近一個小時的時間在網上搜索,不知道在哪裏看,但skamradt在大約3分鐘內回答了我。 – lkessler

+0

它肯定會很好,如果你試圖創建一個帶有空格的字段名時,你會罵你! –

相關問題