2011-09-06 130 views
3

我想弄清楚更新查询是否真的是我需要的。我有一个名为account_numbers的字段,每个条目由一个由字母“M”开头的3位数字组成。MS Access更新查询

Account number 

M001 
M002 
M003 

它一路走到999.我想要做的就是从每个帐号中删除“M”。我查看了Microsoft教程的更新查询,看起来我可能需要其他的东西。有人能告诉我最简单的方法吗?

感谢,

回答

6

试试这个:

UPDATE account_numbers 
SET AccountNumber = Replace([AccountNumber],"M","") 

编辑:先来备份:d

+0

+1 ...:M”加3个数字,你可以添加一个WHERE子句忽略它们的更新 –

1

如果这是一次性的,最简单的是只查找和替换在列上。

0

如果您可以绝对确定帐号中唯一的M是开头的那个,那么Davide Piras' answer(用空字符串替换“M”)就好了。

但是,如果在账户号码更“M” S,你只是想摆脱的第一个的(如:MKLMN - >KLMN),然后更换就不会工作,你必须以“切断”的第一个字符:

UPDATE account_numbers 
SET AccountNumber = Mid([AccountNumber],2); 
2

如果你想使用更新查询,您可以使用替换()或MID()函数在其他答案建议。但是,由于你只想保留3个最右边的角色,我的冲动是达到Right()函数。下面是从即时窗口示例:

? Right("M001", 3) 
001 

所以,在查询时,它可能是这个样子:

UPDATE account_numbers 
SET AccountNumber = Right(AccountNumber , 3) 

如果有可能不匹配“的格局账户号码值备份

WHERE AccountNumber Like "M###"