回 帖 发 新 帖 刷新版面

主题:vfp9 access2007 replace()

我有一个库 access 格式,
其中有个  备注  字段   想把所有记录中备注里的“苹果”换成“水果”
用sqlexec (alen,[update book set 备注 = replace(备注,'苹果','水果')])
为什么不对呢,,请指教。

回复列表 (共5个回复)

沙发

附:
Replace 函数



全部显示
 


返回一个 String 值,其中的指定子字符串已经被另一子字符串替换了指定次数。
 
语法
 
Replace(expression, find, replace [, start ] [, count ] [, compare ] )
 
Replace 函数的语法包含以下参数:
 



参数

说明



expression

必选。其值为包含要替换的子字符串的字符串表达式。



find

必选。其值为被搜索的子字符串。



replace

必选。其值为用来进行替换的子字符串。



start

可选。其值为 expression 中的位置,将在此开始子字符串搜索。如果省略该参数,则假定为 1。



count

可选。其值为要执行的子字符串替换次数。如果省略该参数,则默认值为 –1,表示进行所有可能的替换。



compare

可选。数字值,表示在计算子字符串时所采用的比较类型。有关相应的值,请参见“设置”部分。

 
设置
 
compare 参数可以包含以下值:
 



常量



说明



vbUseCompareOption

-1

使用 Option Compare 语句的设置执行比较。



vbBinaryCompare

0

执行二进制比较。



vbTextCompare

1

执行文本比较。



vbDatabaseCompare

2

Microsoft Office Access 2007 专用。根据数据库中的信息执行比较。

 
返回值
 
Replace 返回以下值:
 



如果

Replace 返回



expression 长度为零

零长度字符串 ("")



expression 为 Null

错误。



find 长度为零

expression 的副本。



replace 长度为零

expression 的副本,其中删除了出现的所有 find。



start > Len(expression)

零长度字符串。



count 为 0

expression 的副本。

 
注解
 
Replace 函数的返回值是执行替换后的字符串,替换从 start 指定的位置开始并在 expression 字符串的结尾处结束。它不是原始字符串从头至尾的副本。



另请参阅
Filter 函数

板凳

语法没错,最大的可能是表:book 已是导出来的临时表,而不是access库中的原表。

3 楼

我确定是原表,我用sqlexec()发的命令呀!!

你帮我高试一下吧!谢谢。

4 楼

SQL,已试过,语法没问题,可以更新。
不知你的错误是什么?

5 楼

你确定你是access2007  是 mdb 2000格式,我怎么试都不能替换

我来回复

您尚未登录,请登录后再回复。点此登录或注册