解析MS Access中的名称

时间:2017-05-25 20:36:48

标签: ms-access

我正在尝试将名称拆分为三个字段。表中的名称是"姓氏","名字","中间名字"。我发现有几篇文章帮助我完成了大部分内容。我有2/3的需要。我遇到的问题是,一些姓氏中有一个空格。例如," Van Damme,Jean C "。

我可以得到"姓氏"领域,"中间初始"我的查询中的字段很好,但我遇到的问题是"名字"查询中的字段返回First Name和Middle Initial。

所以我的查询给了我: Van Dame 在"姓氏"字段, Jean C 在"名字"字段和"中间初始"中的 C 领域。我需要"名字"字段给我 Jean

任何帮助都将不胜感激。

2 个答案:

答案 0 :(得分:0)

可能很难。这就是为什么我们规范化表/帐户的数据粒度。

您可以使用中间名在firstname部分再次执行拆分,然后获取字符串数组的最后一项并将其设置为中间名..但您的问题将是正确的分隔符。如果这个名字是“Damascus,Joseph S A”,中间名是“S A”,有空格怎么办?如果它是“S.A.”怎么办?

我建议重新设计表格以容纳您的应用程序中的名字,中间名,姓氏(甚至昵称,标题,后缀)或设置规则,避免使用带有中间姓名首字母的空格。

答案 1 :(得分:0)

总是会有一个逗号分隔Last和其他部分吗?如果没有中间的首字母怎么办?这就是名称部分应存储在单独的字段中的原因。

也许:

x代表你的领域。

FirstName = Left(Mid(x,InStr(x,",")+ 2),InStr(Mid(x,InStr(x,",")+ 2),""))