使用 MS Access 中另一个字段的值填充一个字段

Fill a field with the values from another field in MS Access

我有一个 table 客户,我想 delete/drop 字段 FullName,并创建两个字段;分别是名字和姓氏。方便的是,全名中的名称仅由两部分组成(例如 John Smith、Robert Black)。我有符合 MS Access 标准的 SQL 代码,用于从下面的 FullName 字段中提取名字和姓氏。

SELECT 
Mid(FullName, 1, InStr(FullName, ' ') - 1) 
AS FirstName, 
Mid(FullName, InStr(FullName, ' ') + 1, Len(FullName)) 
AS LastName 
FROM Customers 

我想用 FullName 的值填充 FirstName 和 LastName,然后删除 FullName。下面是我尝试在 DDL 中填写 FirstName 字段。

UPDATE Customers
SET Customers.FirstName =
(SELECT Mid(FullName, 1, InStr(FullName, ' ') - 1) )

当我尝试 运行 此代码时从 MS Access 得到的错误是 "Operation must use an updateable query"。

你可以试试下面的-

UPDATE Customers
SET Customers.FirstName =Mid(FullName, 1, InStr(FullName, ' ') - 1)

试试这个。无需对相同的 table 列和别名使用子查询。

UPDATE Customers
SET  FirstName =Mid(FullName, 1, InStr(FullName, ' ') - 1) 

不需要子查询:

UPDATE 
    Customers
SET 
    FirstName = Mid(FullName, 1, InStr(FullName, " ") - 1),
    LastName = Mid(FullName, InStr(FullName, " ") + 1),
    FullName = Null