【发布时间】:2013-08-07 18:36:40
【问题描述】:
我有一个表,其中有一个名为 PATRN_NAME 的字段,其中设置了 First_Name、Last_Name M.I.
例子:
史密斯,詹姆斯 M
琼斯,克里斯·J。
我正在尝试将该字段拆分为 FIRST_NAME、LAST_NAME 和 MI 字段。我刚刚问了一个关于这个的问题,有人帮我使用 Split() 来获取 LAST_NAME 字段。但是,当我尝试对 FIRST_NAME 使用 Split() 函数时,它不起作用,因为该字段的记录不遵循该字段的名称约定,而是如下所示:“城镇图书馆 - GW”或“捐赠来自纽约市”。
当我的代码遇到这些类型的名称时,它会在我使用 rst!FIRST_NAME = Split(Trim(Split(rst!PATRN_NAME, ",")(1)) 的行上抛出错误“下标超出范围” , " ")(0)。如何使我的代码仅在大多数字段遵循标准名称约定的数据上运行?
Function Change_Name()
Dim dbs As DAO.Database
Dim rst As DAO.Recordset
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset("Active Patrons", dbOpenDynaset)
rst.MoveFirst
Do While Not rst.EOF
rst.Edit
rst!LAST_NAME = Split(rst!PATRN_NAME, ",")(0)
rst!FIRST_NAME = Split(Trim(Split(rst!PATRN_NAME, ",")(1)), " ")(0)
rst.Update
rst.MoveNext
Loop
End Function
【问题讨论】:
-
当您到达
MI部分时,请在“立即”窗口中尝试此操作,看看是否有用:? Replace("J.", ".", "")