2015-04-06 75 views
0

我正在尋找一種方法來查找來自多個字段的最長記錄。MS Access從多個字段中查找最長記錄

具體來說,我有一個名稱和地址的數據庫。有時,名稱字段將比地址更長。時間表,它可能是一個第二地址或城市,州&郵政編碼的組合。

使用Excel我可以使用MAX功能,例如排序和我的降序排列列表:

=max(LEN(Full Name), LEN(Address1), etc.) 

然而,在Access中的最大功能只能容納一個字段。

我當然可以嵌套多個IF語句來比較字段,但我會認爲有一個更簡單的方法。

回答

2

解決方案:

你可以只串聯所有字段一起尋找的的最大長度。

粗糙例如(使用MS訪問方法):

SELECT max(len(Person.[first_name] & Person.[last_name] & Person.[address])) AS Expr1 
FROM Person; 

實例: enter image description here enter image description here

+0

感謝@ maythesource.com的建議,但合併多個字段不一定會提供最長的可用。與具有中等長度的多個字段的其他記錄相比,沒有次要地址和短的城市的長地址線可能被忽略。 – SBlack

+0

我認爲你需要使用if語句。 –

2

我可能採取圍繞長的方式,但它會更容易與現場擴大補充。

我對每個需要比較的字段進行了查詢(總共6個)。查詢有一個新的字段「長度」,並且限於可用的最高值。

然後我做了所有我最長的字段的聯合,並返回結果表的前1位。

它完成了工作,但如果任何人有更有效或更簡單的方法,請讓我知道。

相關問題