2009-10-23 53 views
0

我想使用更新查询来更新字符串的前3个字符。但我得到一个语法错误MS访问更新查询更新部分字符串

我的查询是

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

thankstksy

+0

什么是错误? – 2009-10-23 11:27:21

回答

4

OK,有几件事情

首先,你的一套说法应该是这个样子

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视图。

希望这会有所帮助:)