【发布时间】:2011-02-11 16:25:56
【问题描述】:
我有一个表->带有值的列名:
Juan
Manuel l.
Richard Wit
我正在尝试做一个返回的查询
Juan
Manul
Richard
我想在空格后消除。
【问题讨论】:
标签: ms-access ms-access-2007 ms-access-2003
我有一个表->带有值的列名:
Juan
Manuel l.
Richard Wit
我正在尝试做一个返回的查询
Juan
Manul
Richard
我想在空格后消除。
【问题讨论】:
标签: ms-access ms-access-2007 ms-access-2003
假设您需要 SQL,请尝试
SELECT MID(name + " a", 1, INSTR(name + " a", " ")-1) AS FirstName FROM myTable
在 VBA 中会很相似,因为 Mid() 和 InStr() 的工作方式与 Access-SQL 中的完全相同
不过,实际上,最好将名字和姓氏分别存储在不同的字段中,这样您就不必在 SQL 中进行这种处理。
【讨论】:
& " a",否则,如果 Name 为 Null,你最终会得到 Null 吗?也就是说,在 Access/Jet/ACE 中,+ 连接运算符传播 Null(即 Null + " a" = Null 而 Null & " a" = " a")。
SELECT Left([First-Name], InStr([First-Name] & ' ', ' ') - 1) As CleanFirstName
FROM table
请记住,运行它会效率低下,因为您将针对查询中的每条记录执行 VBA 函数。根据您的使用方式,您可能希望查询返回完整字段并在事后进行处理。
【讨论】: