我有一个带有包含字母数字值(1234、123a、12a34、3等)的字段的访问表。我正在尝试创建一个条件更新查询来添加前导零,以便将所有包含至少1个字母(最多5个字符)但没有的值都带到唯一的数字值(例如123、00a12、0000x)。
我当前的代码如下所示: UPDATE MyTable SET MyTable!Field = Format(Field, String(5, "0")) WHERE MyTable!Field LIKE '*[A-Z]*'
当我运行查询时,我没有收到任何错误消息,但它也无法添加任何前导零。
我也试过了 Format(Field, "00000")
使用 Not Like
以及 '*[0-9]*'
或者 '*[0123456789]*'
等。
有趣的是,当我自己运行一个查询来选择任何包含字母的值时( Like '*[A-Z]*'
),它正确地提取了所有需要更新的1000个值,但是当我添加条件时,它失败了。类似地,我在过去成功地使用 Format(Field), String(5, "0")
但当我添加一个条件时,它也会失败。
我对access和sql还很陌生,所以我觉得我可能在什么地方误解了语法。或者我还有别的事要做?
1条答案
按热度按时间yuvru6vn1#
format()是错误的函数。
如果字段中的每个值不超过5个字符,请考虑: