MS访问更新查询以更新字符串的一部分

时间:2009-10-23 11:04:23

标签: ms-access

我正在尝试使用更新查询来更新字符串的前3个字符。但我收到语法错误

我的查询是

update table1, table 2 set left(table1.stringfield, 3) = table2.stringfield

thankstksy

1 个答案:

答案 0 :(得分:4)

好的,有几件事

首先,你的set语句看起来应该是这样的

set table1.stringfield = Left(table2.stringfield, 3) _
                            + mid$(table1.stringfield, 4)

这将获取table2.stringfield中的前3个字符,以及table1.stringfield中4个以后的字符。

如果table1.stringfield的长度少于4个字符,这会遇到问题,你可能会想要像

这样的东西
set table1.stringfield = Left(table2.stringfield, 3) + 
iif(len(table1.stringfield) > 3, mid$(table1.stringfield, 4), "")

其次,你需要将两个表连接在一起,我目前还没有MSAccess方便,最简单的方法就是将设备直接更新查询,然后再查看SQL查看该查询。

希望这会有所帮助:)