2015-04-06 76 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位。

它完成了工作,但如果任何人有更有效或更简单的方法,请让我知道。

相关问题