Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access MS访问更新查询_Ms Access_Ms Access 2007 - Fatal编程技术网

Ms access MS访问更新查询

Ms access MS访问更新查询,ms-access,ms-access-2007,Ms Access,Ms Access 2007,我试图弄清楚更新查询是否真的是我所需要的。我有一个名为account_numbers的字段,每个条目由一个以字母“M”开头的3位数字组成 一直到999。我只想从每个帐号中删除“M”。我查阅了Microsoft教程以获取更新查询,看起来我可能还需要其他东西。有人能告诉我最简单的方法吗 谢谢,试试这个: UPDATE account_numbers SET AccountNumber = Replace([AccountNumber],"M","") 编辑:首先备份:D如果这是一次性备份,最简单的

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

一直到999。我只想从每个帐号中删除“M”。我查阅了Microsoft教程以获取更新查询,看起来我可能还需要其他东西。有人能告诉我最简单的方法吗

谢谢,

试试这个:

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

编辑:首先备份:D

如果这是一次性备份,最简单的方法就是在列中查找并替换。如果您可以绝对确定帐号中唯一的M是开头的M,那么(用空字符串替换“M”)就可以了

但是,如果帐号中有更多的“M”,而您只想去掉第一个(如:
MKLMN
-->
KLMN
),那么替换将不起作用,您只能“删除”第一个字符:

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

如果要使用更新查询,可以使用其他答案中建议的Replace()或Mid()函数。但是,由于您只想保留最右边的3个字符,我的冲动是使用right()函数。以下是即时窗口中的示例:

? Right("M001", 3)
001
因此,在查询中,它可能看起来像这样:

UPDATE account_numbers
SET AccountNumber = Right(AccountNumber , 3)
如果AccountNumber值可能与“M”加3位的模式不匹配,则可以添加WHERE子句以在更新中忽略它们:

WHERE AccountNumber Like "M###"
WHERE AccountNumber Like "M###"