access数据库类型转换失败

来源:百度知道 编辑:UC知道 时间:2024/06/17 16:56:19
我的数据库是access 姓名字段是文本型的 用这个命令跟新数据库出现update 4 set 姓名=Left([姓名],instr([姓名],";")-1) 数据库类型转换失败
UPDATE 4 SET [4].姓名 = IIf(InStr([4]![姓名],";")=0,[4]![姓名],Left([4]![姓名],InStr([4]![姓名],";")-1)) 原来是有些地方没有分号 所以要加个条件

access数据库类型转换失败原因是字符串的处理不当引起的。
比如要更新姓名字段:
UPDATE 4 SET [4].姓名 = IIf(InStr([4]![姓名],";")=0,[4]![姓名],Left([4]![姓名],InStr([4]![姓名],";")-1))
以上用了instr来处理,这样;号就会有问题
应该改成:UPDATE [4] SET [4].姓名 = IIf(InStr([4]![姓名],";")=0,[4]![姓名],Left([4]![姓名],InStr([4]![姓名],";")-1))
问题就解决了。

UPDATE [4] SET [4].姓名 = IIf(InStr([4]![姓名],";")=0,[4]![姓名],Left([4]![姓名],InStr([4]![姓名],";")-1))

我试过了,是对的,可以达到你去掉;的目的