gpt4 book ai didi

ms-access - 如何将全名字段拆分为名字、姓氏和中间名首字母?

转载 作者:行者123 更新时间:2023-12-04 19:46:43 25 4
gpt4 key购买 nike

我有一个表,其中包含一个名为 PATRN NAME 的字段,该字段使用 First_Name, Last_Name M.I. 设置

例子:

Smith, James M

Jones, Chris J.

Anderson, Wendy L

如何将此字段分解为 3 个不同的字段,分别称为 FIRST_NAME、LAST_NAME 和 MI?我尝试运行查询 LAST_NAME: [PATRN NAME]"& ", " 来获取姓氏,但没有得到任何结果。顺便说一句,我没有设计这个表,所以我意识到在没有单独字段名称的情况下制作完整的字段名称并不明智;我只是负责修复它。

最佳答案

考虑是否可以弯曲 Split Function随心所欲。

这是一个即时窗口 session 示例。

PATRN_NAME = "Smith, James M"
? PATRN_NAME
Smith, James M
? Split(PATRN_NAME, ",")(0)
Smith
? Trim(Split(PATRN_NAME, ",")(1))
James M
? Split(Trim(Split(PATRN_NAME, ",")(1)), " ")(0)
James
? Split(Trim(Split(PATRN_NAME, ",")(1)), " ")(1)
M

您不能在查询中直接使用 Split()。但是,您可以构建一个或多个用户定义的函数并从查询中调用 UDF。

与需要组合其他函数的方法相比,这种方法可以使查询更简单:InStr()Mid()Right() 等。但是,UDF 意味着查询只能在 Access 应用程序 session 中进行;如果您需要从外部 Access(.Net、VBScript、PHP 等)运行的查询,则 UDF 将不可用。

我建议你澄清你的意图是在每次查询数据时提取FIRST_NAMELAST_NAMEMI,还是你是否将这些值在您提取一次后单独存储在表中。这应该会影响您选择的方法。如果您将它们分开一次并存储,您可以使用 VBA 过程而不是查询。

还要决定中间名首字母“Jones, Chris J.”之后的可选点应该发生什么。。保留在 MI 中还是丢弃?

关于ms-access - 如何将全名字段拆分为名字、姓氏和中间名首字母?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18107309/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com