【问题标题】:Parsing Text containing spaces and - in MS Access在 MS Access 中解析包含空格和 - 的文本
【发布时间】:2014-09-23 04:13:34
【问题描述】:

尊敬的社区成员,

我是 MS Access 的新手,目前正在为客户构建一个简单的数据库,作为项目的一部分。我们以下列格式从外部来源获取数据:

客户密钥:01105 105837-19-9

城市/州/邮编:LEESBURG FL 34788-3522

我需要将我们的客户密钥分成四列,以便看起来像 公司:1105

帐号:105837

客户:19

房子:9

同样适用于城市/州/邮编 城市:利斯堡 州:佛罗里达州 邮编:34788-3522

我已经能够使用 Left、Instr 和 Right Functions 来分离出左右极端信息

CORP: 左([NCOA_RAW].[custkey],InStr([NCOA_RAW].[custkey]," ")-1)

CUST:Right([ncoa_raw].[custkey],Len([ncoa_raw].[custkey])-InStr(1,[ncoa_raw].[CUSTKEY],"-")-0)

我无法解析 House 信息,因为它包含空格和 -。您能否建议,我如何才能分离出这些信息。我们将非常感谢您的帮助。

最好的问候, 杰海德

【问题讨论】:

  • 输入的标准化程度如何?客户键的元素是否总是相同的长度?如果是这样,请查看 MID 功能。 City/State/Zip 可能更难,因为城市名称可能包含空格 - 为此,请查看 InStrRev 函数。

标签: ms-access


【解决方案1】:

如果状态始终为 2 个字符,则应使用以下方法:

ZIP: Mid([city/state/zip],InStrRev([city/state/zip]," ")+1)
State: Mid([city/state/zip],InStrRev([city/state/zip]," ")-2,2)
City: Left([city/state/zip],Len([city/state/zip])-InStrRev([city/state/zip]," ")-2)

根据客户密钥的构成,您可以在那里做类似的事情

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多